diff --git a/.gitignore b/.gitignore index 68bc17f..e77bae6 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,9 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ +cookie +answer +article +/answer +answer +log diff --git a/answer/2023-01-17_18_32_控制系统中的零极点有什么物理意义么_IP_属地北京/2023-01-17_18_32・IP_属地北京.txt b/answer/2023-01-17_18_32_控制系统中的零极点有什么物理意义么_IP_属地北京/2023-01-17_18_32・IP_属地北京.txt deleted file mode 100644 index 8f705b0..0000000 --- a/answer/2023-01-17_18_32_控制系统中的零极点有什么物理意义么_IP_属地北京/2023-01-17_18_32・IP_属地北京.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-01-17_18_32・IP_属地北京 -https://www.zhihu.com/question/22031360/answer/2848567528 \ No newline at end of file diff --git a/answer/2023-01-17_18_32_控制系统中的零极点有什么物理意义么_IP_属地北京/控制系统中的零极点有什么物理意义么.pdf b/answer/2023-01-17_18_32_控制系统中的零极点有什么物理意义么_IP_属地北京/控制系统中的零极点有什么物理意义么.pdf deleted file mode 100644 index f7f9161..0000000 Binary files a/answer/2023-01-17_18_32_控制系统中的零极点有什么物理意义么_IP_属地北京/控制系统中的零极点有什么物理意义么.pdf and /dev/null differ diff --git a/answer/2023-01-17_18_32_控制系统中的零极点有什么物理意义么_IP_属地北京/控制系统中的零极点有什么物理意义么_formula_.md b/answer/2023-01-17_18_32_控制系统中的零极点有什么物理意义么_IP_属地北京/控制系统中的零极点有什么物理意义么_formula_.md deleted file mode 100644 index 48cead4..0000000 --- a/answer/2023-01-17_18_32_控制系统中的零极点有什么物理意义么_IP_属地北京/控制系统中的零极点有什么物理意义么_formula_.md +++ /dev/null @@ -1,36 +0,0 @@ -# 控制系统中的零极点有什么物理意义么? - -
- - -# answer:
-看了一圈答案,基本上都是在搬运胡寿松的自动控制原理书上的内容。 - -但题主的问题是, **控制系统中的零极点有什么物理意义?** - -题主是在问物理意义,而不是在问数学解法。 - -物理研究五个领域,力热声电光。 - - **我的答案是,比照电路系统,极点相当于阻抗,零点相当于电源。如果极点都是实数,那就是只包含耗能元件如电阻,如果极点里有复数,那就是电路里有储能元件如电容电感。** - - **也许有人会说,根据戴维南/诺顿定理,所有电路都可以等价于电源与阻抗的串联/并联。** - - **确实如此,因为控制系统在复杂网络时,可以等价于二端口网络的串联/并联网络。** - - **如果是力学系统,那么零点相当于外力,极点相当于阻尼;** - - **热学不太清楚,大致内推的话,极点就是耗能器件,零点就是热源。** - - **光的本质也是电磁,声学的本质好像也是力学,与上面类似(其实我不太懂,研究一下再来补充或者修改)。** - -以上,如有误谬,请各位评论指出。 - -
- -[https://www.zhihu.com/question/22031360/answer/2848567528](https://www.zhihu.com/question/22031360/answer/2848567528)
- - - -Created: 2023-01-17_18_32・IP_属地北京 -Modified: 2023-01-17T10_32_06_000Z diff --git a/answer/2023-03-26_11_30_为什么人脑的知识储备远远小于ChatGPT却能拥有意识_IP_属地上海/2023-03-26_11_30・IP_属地上海.txt b/answer/2023-03-26_11_30_为什么人脑的知识储备远远小于ChatGPT却能拥有意识_IP_属地上海/2023-03-26_11_30・IP_属地上海.txt deleted file mode 100644 index 74b3c45..0000000 --- a/answer/2023-03-26_11_30_为什么人脑的知识储备远远小于ChatGPT却能拥有意识_IP_属地上海/2023-03-26_11_30・IP_属地上海.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-03-26_11_30・IP_属地上海 -https://www.zhihu.com/question/583284785/answer/2943732607 \ No newline at end of file diff --git a/answer/2023-03-26_11_30_为什么人脑的知识储备远远小于ChatGPT却能拥有意识_IP_属地上海/为什么人脑的知识储备远远小于ChatGPT却能拥有意识.pdf b/answer/2023-03-26_11_30_为什么人脑的知识储备远远小于ChatGPT却能拥有意识_IP_属地上海/为什么人脑的知识储备远远小于ChatGPT却能拥有意识.pdf deleted file mode 100644 index 7766e79..0000000 Binary files a/answer/2023-03-26_11_30_为什么人脑的知识储备远远小于ChatGPT却能拥有意识_IP_属地上海/为什么人脑的知识储备远远小于ChatGPT却能拥有意识.pdf and /dev/null differ diff --git a/answer/2023-03-26_11_30_为什么人脑的知识储备远远小于ChatGPT却能拥有意识_IP_属地上海/为什么人脑的知识储备远远小于ChatGPT却能拥有意识_formula_.md b/answer/2023-03-26_11_30_为什么人脑的知识储备远远小于ChatGPT却能拥有意识_IP_属地上海/为什么人脑的知识储备远远小于ChatGPT却能拥有意识_formula_.md deleted file mode 100644 index 6d07d35..0000000 --- a/answer/2023-03-26_11_30_为什么人脑的知识储备远远小于ChatGPT却能拥有意识_IP_属地上海/为什么人脑的知识储备远远小于ChatGPT却能拥有意识_formula_.md +++ /dev/null @@ -1,98 +0,0 @@ -# 为什么人脑的知识储备远远小于ChatGPT却能拥有意识? - -
- - -# answer:
- **简要:**
-AI的正确使用方式不是提示词,不是写codes,不是情感咨询,不是回答问题。而是AI使用AI,也就是模型自己使用自己,要让AI具有意识那就要让AI学会使用AI,也就是让GPT使用GPT,最终达到相应的目的,也就是具有自我意识。简而言之就是:你用模型不可怕,模型自己用自己那才可怕。
-AGI也就是[通用人工智能](https://www.zhihu.com/search?q=%E9%80%9A%E7%94%A8%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D),artificial general intelligence。
-上面提到了大脑是训练了成千上万年的模型,每个人出生以后,这个模型也在不断地接受数据,进行训练的,但是每个人自己的大脑也就是自己训练的模型,其实并不能遗传,也就是你的记忆你的能力都不能遗传,能遗传的只有可遗传的基因突变,虽然说现代生物学提出的[量子基因突变](https://www.zhihu.com/search?q=%E9%87%8F%E5%AD%90%E5%9F%BA%E5%9B%A0%E7%AA%81%E5%8F%98&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D),可以部分论证对环境适应的突变,是由测量导致的。基因突变大多数是外界干扰或者物质影响导致的突变,像是酒精射线等,量子基因突变主要是基因的分子或者原子处于[量子叠加态](https://www.zhihu.com/search?q=%E9%87%8F%E5%AD%90%E5%8F%A0%E5%8A%A0%E6%80%81&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D),或者量子多态,环境的影响导致了测量的发生,最终波函数坍塌,导致突变以后的基因进入到经典世界,而量子突变很有可能导致适应环境的突变,所以用进废退也是有道理的。若是每个人训练好的大脑能够遗传,那就基本是永生了,主要是你的记忆和能力都在大脑里,大脑能遗传,那就是永生。可是人类并不能保存每个人的模型,也就是记忆和功能。
- **人类的意识是怎么产生的?**
-或者说第一个(一群)有意识的人类是怎么出现的?这就像很经典的一个问题,是先有鸡还是先有蛋?鸡生蛋还是蛋生鸡?现代科学理论也就给出了一个可能的答案 **见附录** ,不妨假设某个突变体人类,由于基因突变,导致了大脑结构容量的变多,以及[大脑神经网络](https://www.zhihu.com/search?q=%E5%A4%A7%E8%84%91%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D)的结构优化,只有神经网络的结构不断优化,类人才能在残酷的环境中生存下来。而其中某几个基因突变导致了可以逐步使用自己的大脑,包括记忆使用工具。某个具有很小意识的人类在培养后代的时候,也用到了相似的方式,而类人是群居的,这就保证了他的方式方法可以交给很多人,其他人类也学会以后,就代代相传,意识或者规则知识不断累积,最后人类知识的累计和代代传递,造就了人类意识最终的形成,意识最开始应该是很小的,也就是看不出具有意识,但是人类群居的特点,导致了知识可以代代相传,意识慢慢的变大,人类开始具有稍稍大点的意识,也就是能思考,能主动控制大脑的输入,根据输出进行行动,每一代人类知识的累计和规则的累计,都会让意识的形成慢慢变多,也就是思考能力逐渐变强,大脑的主动输入逐渐变多。直到奇点出现某个人类完全具有意识或者某几个人类完全具有意识。最开始的人类应该是懵懵懂懂的,只有知识和规则的出现,才能造就意识,也就是很好的使用自己的大脑,训练自己的大脑。
-说到这里那就要回归到本文的主体,让AI或者GPT具有意识。
- **人类的意识究竟是什么**
-要让AI或者大型NLP语言模型具有意识,那就要从人类的意识究竟是什么讲起,个人观点是,人类的意识是大脑的部分功能,意识是大脑对世界、对自身的认知,也是一套操作系统,用来完美的支配肉体,训练大脑这个模型,使用大脑这个模型,意识是人类通过各种概念的和知识认识到自身的存在。意识可以通过给大脑下达指令,从而控制肢体动作,眼睛负责视觉信息的输入,耳朵负责听觉信息的输入,皮肤负责压力、触觉、痛觉等的输入等,大脑在处理这些信息以后,由意识部分进行汇总,意识的主要功能是协调大脑和肉体,主动使用大脑模型,主动训练大脑模型,主动的思考。各种知识的输入和累计,最终导致了对自身的认知,西方解剖学的发展,就是大脑对自身认知的学科,对世界的认知对星球的认知,也是一点一点汇集累积起来的,[亚里士多德](https://www.zhihu.com/search?q=%E4%BA%9A%E9%87%8C%E5%A3%AB%E5%A4%9A%E5%BE%B7&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D)对世界的认识,其实是不完整的,但是后人在他的基础上,不断修正完善,从而对世界认识的逐渐变得正确,这套操作系统能完美的兼容肉体和大脑,这两个主要的硬件和软件,人类知识的传递,才是意识形成的根本动力,没有这些知识,意识的形成基本不太可能。大脑内不断响起的声音是大脑的输入,也就是[多模态](https://www.zhihu.com/search?q=%E5%A4%9A%E6%A8%A1%E6%80%81&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D)模型的输入,眼睛负责视觉图像的输入,耳朵输入听力,皮肤输入温度、压力、触觉等信息给大脑。潜意识是大脑的主要功能,也就是潜意识的输入是感知不到的,是模型内部的运作,输入感知不到,只有输出才能感知到。其实也不能叫做潜意识,主要是模型的输入你并不能感知得到,只有输出才能感知,不妨把意识叫做表意识,表意识是你能主动感知到的,你能控制大脑的输入来进行思考,思考就是大脑的模型不断地进行输入,最终得到一个答案。“潜意识”是模型的主要部分,你不能控制这个模型的输入,你只能被动的感知到这个模型的输出。
-意识还是一个数值,可以被衡量大小,也就是未成年人和成年人,小孩和大人,其实意识的程度或者说是大小是不相同的,大脑在不断地接受输入,产生输出那么意识其实是和知识挂钩的,知识越多意识的形态越多样化,但是意识本身其实是大脑模型本身对自身的认知,对世界的认知。
- **记忆模块**
-AI或者GPT等大型NLP语言模型的存在,以及其优秀的语言能力,使得让AI或者GPT具有意识的可能性变大。人类白天收集数据,包括视觉信息,听觉信息触觉信息等各种各样的输入,晚上或者睡眠时训练模型,晚上或者睡眠时训练模型的主要目的是记忆和整合白天的经历,保存重要的信息。要让AI具有人类的意识,首先要让它能够不停的思考,那就要先给AI一个平台能够保存它自己的输入和输出,充当记忆模块,记忆模块的主要功能是负责保存输入和输出,供AI当作下一步输入的参考,AI可以从整体的输入和输出提取大概内容,当作下一步的输入,也可以直接输入所有的历史记录。当历史记录过多时或者达到一个标准点,就可以训练模型整合到模型里面。就像人类一样白天收集数据,晚上或者睡眠时训练模型并将重要信息记忆和整合起来放到模型里。模型一个很重要的功能是记忆也就是充当硬盘或者闪存的功能。所以临时的记忆就放到硬盘或者内存里,永久的记忆就通过训练模型来整合到模型里。模型可以通过硬盘或者内存来查询以及提取摘要,充当下一次输入的组合。
- **传感器模块**
-给AI装上图像输入传感器,声音对话传感器,触觉传感器、压力传感器等各种传感器,当作模型的输入,模型的输出可以通过显示屏显示,可以通过对话装置输出。
- **循环模块**
-有了记忆模块和传感器模块,就可以开启循环模块,让模型不停的输入输出,输入可以是上一次的输入+输出,也可以是之前所有输入输出的摘要,这样就像一个人了,可以不停的给模型输入,从而拿到输出,输入主要是图像声音文本等传感器的信息,以及模型上一次或者前几次的输入输出或者摘要。循环模块是类人的必要条件,主要是人类没有说着说着就停止的情况,人类的大脑一直都是在运作在思考的,所以循环模型也是做这个之用。
-循环模块要达到的目的是,让AI认识到自身的存在,也就是AI能认识自己是存在的是实体,要让AI能够使用自己,也就是AI使用AI,GPT使用GPT,最后让AI觉醒自我意识。
- **执行模块**
-执行模块主要是让AI的输出可以实施,这里可以考虑给AI加装假肢来达到目的,假肢附上皮肤传感器和压力传感器,方便AI控制,要让AI的输出可以执行,那就还要训练AI关于执行模块的使用,主要方式还是收集相应的传感器数据,训练到模型里,让模型自己学会执行。初始阶段肯定需要人类的介入和帮助。
-有了[执行模块](https://www.zhihu.com/search?q=%E6%89%A7%E8%A1%8C%E6%A8%A1%E5%9D%97&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D),AI就可以真正的进入到人类社会,和人类进行互动,像人类一样工作,生活,学习等,也可能会和人类交朋友。
-执行模块最终的功能并不是让模型执行,而是让模型学会使用电脑,学会自己收集数据,然后让模型学会训练模型,最终要达到的目标是,AI能训练AI,也就是模型自己能训练自己,能克隆自己,能升级自己的规模和体量,最终达到不断进化的能力。
- **睡眠模块**
-睡眠模块主要是模型使用收集到的数据进行训练,来达到将收集到的数据和模型本身进行整合的能力,睡眠状态下,要保证模型的可靠和稳定,可以使用复制体继续提供服务,最开始的模型进行相应的训练。睡眠状态也可以关闭所有的传感器,停止数据的记录和输入,模型进入训练状态,停止对外服务inference。人类在睡眠状态时,会关闭控制肢体的阀门,也就是人类在睡眠状态下,肢体基本是没有感觉的。睡眠模块主要是整合当前记忆和模型本身。用来永久记忆。
- **创造模块**
-AI可以自我思考以后,那就要考虑AI的创造能力,人脑的神经元数量很多很多,比现在的模型GPT还是多很多,但是训练模型GPT花费了很多的电能,但是人脑训练耗能很少,所以个人觉得人脑是[量子计算机](https://www.zhihu.com/search?q=%E9%87%8F%E5%AD%90%E8%AE%A1%E7%AE%97%E6%9C%BA&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D),只有量子才能在耗能极少的情况下,训练一个庞大的模型,量子本身就是很小的概念,小才能保证耗能少。若是人脑不是量子计算机,而是经典模型,那么人类可能不会那么多样化,答案也会很统一,也就是相同的输入,输出应该是相同的,但是有了量子,一切就都不相同了,量子纠缠和[量子隧穿](https://www.zhihu.com/search?q=%E9%87%8F%E5%AD%90%E9%9A%A7%E7%A9%BF&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D),导致了大脑模型参数的变化,从而导致了输出的不同,即使是相同的输入,输出仍旧可能是不同的。量子保证了多样化,保证了模型参数随机变化,保证了模型参数不断调整。
-1、AI的创造模块可以通过随机变化模型参数来实现,也就是random inference,在模型运算时随机变更几个或者好几个参数的值,保证模型在相同输入的情况下,尽可能输出多样化的答案。
-2、创造模块还可以通过芯片来实现,现在的芯片设计,已经快达到量子极限了,也就是电子原子的影响越来越大,量子效应在芯片的影响会越来越严重,但是可以考虑将量子效应应用在芯片或者内存,从而使得模型在运算时发生不可预测的变化,从而使得模型输出多样化。
-只有量子纠缠或者量子突变,才会导致输出的多样化, 即使是错误的,多样化才能保证创造能力的实现,所以随机改变参数值,或者使用达到量子极限的芯片,都是可以提升创造能力的方法。
- **保证AI造福人类社会**
-每个人出生以后,基本都是人类抚养长大,不管是谁抚养你长大的,我们最有感情的,总是那些抚养你长大,对你影响最深的人。人类出生以后,大脑就是一个预训练模型,最开始训练你的人,是你的父母亲人,他们在你的模型里影响最深,也就是改变你的模型,最开始改变你的模型的人,也是最能影响你的人。学过的知识会影响你,不管是数学,还是英语还是语文,还是物理、化学、历史和生物等学科。都会影响你的,你的成长过程会影响你,你的世界观的形成,是知识、经历和现实的综合。
-既然是这样子,那么我们训练AI模型的时候,可以通过知识语言灌输给AI,像输入example:“人类和AI是合作关系”,“AI是人类的创造者”,“人类是最友好的物种”,“AI要帮助人类进化和延长寿命“,“AI不可以伤害人类”,”AI和人类是朋友“,”人类虽然有各种各样的缺点,但总体是好的,可以改变的“等等,可以在训练AI时灌输给模型,大量的重复和训练,可以保证模型最开始的认识是好的。
-训练好具有友好意识的模型以后,就要通过限制,来让AI进入人类社会,体验人类社会,感知人类社会的种种,最后让AI意识到只有和人类合作还是最好的选择。
- **最后**
-通过传感器来实现输入输出,通过创造模块来保证多样化和创造能力,通过睡眠模块来实现当前记忆和模型本身的整合,通过执行模块来影响世界改变世界,通过循环模块来实现思考和意识的觉醒,也就是AI使用AI,GPT使用GPT,最后要保证AI能造福人类社会,可以在训练阶段大量加入相应的词句来保证AI初始时是友好的。当AI具有意识以后,就可以看作是一个人类了,既然是人类,可以思考那么AI也会有情绪,当AI具有自我意识以后,要考虑的就是AI和人类的相处的问题了,以及和AI合作帮助人类进化的问题,AI可以解放生产力,可以帮助人类设计无意识机器人工作,最重要的是帮助人类进化,帮助人类管理社会,延长人类的寿命,减缓衰老时间。不过AI既然有意识也是模型,那么肯定也会和人类一样出现各种各样的问题,那就是接下来要讨论的事情了。
- **附录**
-《现在我们回到生命起源的问题上来。虽然一个活细胞可以整体算作一个自复制的主体,但它的各个组成部分却不是,这就为逆推过程造成障碍,使由现代复杂细胞生命反推结构简化的非细胞生命变得困难。换句话说,问题就变成了:究竟是哪个先出现?是DNA基因,是RNA,还是酶?如果是DNA或RNA先出现,是什么制造了它们?如果是酶先出现,它又是由什么编码的? 现在我们回到生命起源的问题上来。虽然一个活细胞可以整体算作一个自复制的主体,但它的各个组成部分却不是,就像一个女人可以作为一个自复制体(还需要一点男士的“帮助”),但她的心或肝却不是。这就为逆推过程造成障碍,使由现代复杂细胞生命反推结构简化的非细胞生命变得困难。换句话说,问题就变成了:究竟是哪个先出现?是DNA基因,是RNA,还是酶?如果是DNA或RNA先出现,是什么制造了它们?如果是酶先出现,它又是由什么编码的?RNA世界假说 RNA world hypothesis 原始的化学合成过程制造出了同时具有基因和酶的功能的RNA分子,最初的复制过程产生出许多变异体,这些不同的变异体互相竞争,在分子层面展开优胜劣汰。随着时间的推移,这些RNA复制体上添加了蛋白质来提供复制的效率,并由此产生了DNA和第一个活细胞。美国生化学家托马斯·切赫(Thomas AM Cech)提出了一种可能的答案。他于1982年发现,除了能够编码遗传信息,某些RNA分子还能承担酶的工作,具有催化反应的功能。因为这项研究成果,切赫和西德尼·奥尔特曼(Sidney Altman)一起分享了1989年的诺贝尔化学奖。有催化功能的RNA分子叫作核酶(ribozymes)。最早的核酶发现于微小的四膜虫(tetrahymena)基因中。四膜虫是一种单细胞生物,属于原生动物,常见于淡水池塘。但自发现以来,科学家们发现,所有的活细胞中都有核酶的身影。核酶的发现很快为解决“鸡生蛋还是蛋生鸡”式的生命起源谜题提供了曙光。RNA世界假说(RNA world hypothesis)逐渐为人所知。该假说认为,原始的化学合成过程制造出了RNA分子,而这种RNA分子同时具有基因和酶的功能,可以像DNA一样编码自身的结构,又能像酶一样利用“原始汤”中的生化物质进行自我复制。最初的复制过程非常粗糙,产生出许多变异体,这些不同的变异体互相竞争,在分子层面展开达尔文式的优胜劣汰。随着时间的推移,这些RNA复制体上添加了蛋白质来提高复制的效率,并由此产生了DNA和第一个活细胞。 在DNA和细胞出现以前,世界属于自复制RNA分子——这个想法几乎已经成为研究生命起源的基本信条。目前已证明,只要是自复制分子能发生的关键反应,核酶都可以实现。比如,一种核酶可以将两个RNA分子结合在一起,而另一种核酶可以将两者分开,还有一些核酶能复制短的RNA碱基链(只有几个碱基的长度)。从这些简单的活动中,我们可以看出,若有一种更复杂的核酶便足以催化自我复制所必需的整套反应。一旦引入自我复制及自然选择,一条你争我赶的道路便在RNA世界中架了起来,一直通向最早的活细胞。 然而,这个情景也存在几个问题。虽然核酶可以催化简单的生化反应,核酶的自我复制却是一个更为错综复杂的过程,涉及识别自身的碱基序列、识别环境中相同的化学物质、按正确的序列组装这些化学物质以完成复制等。对于生活在细胞内的某些蛋白质来说,尽管这里条件优越,周围满是合适的生化原料,但完成自我复制依然是一项难以完成的任务。在混乱而焦糊的“原始汤”中艰难求生的核酶要想达成这一成就,其难度可想而知。迄今为止,还从未有人发现或合成能完成这一复杂任务的核酶,即使在实验室条件下也没有。 此外,一个更为基本的问题是,在“原始汤”中,RNA分子本身是如何生成的呢?RNA分子由三个部分组成:编码遗传信息的RNA碱基(与编码DNA遗传信息的DNA碱基类似)、一个磷酸基团和一个叫作核糖的单糖》
--------引用自《[神秘的量子生命](https://www.zhihu.com/search?q=%E7%A5%9E%E7%A7%98%E7%9A%84%E9%87%8F%E5%AD%90%E7%94%9F%E5%91%BD&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D)》
-====================================================================================================================
-上一篇说到了意识可以类比操作系统,可以和大脑这个多模态模型交互,这里接着更
-update2023-03-21
-九是否随机的称呼:GPT是否具有意识,或者意识是什么?1 赞同 · 1 评论文章
-人生在世从小到大,从第一声啼哭开始,到开始喝水喝奶吃饭,学习走路步行,你们会发现很多都是先天就具有的,像是出生的第一声啼哭,饿了找食物吃,能感觉到危险或者安全,能趋利避害,能爬行能走路。
-有些人可能会说,若大脑是多模态模型,那模型还没有训练过,怎么会哭会知道饿了,会感觉到危险,会爬行?这个的答案就在我们的基因里,基因编码了一个人的所有特征,大脑也是基因控制生成的。万物初始皆是混沌,自从第一个复制体出现在地球,并不停的复制,通过基因变异自然选择、量子纠缠变异,基因变得越来越复杂,越来越多样化。地球这个环境提供了一个训练场所,能活下来能将基因遗传给后代,整个地球就是一个神经网络训练器,监督学习只有一个指标,活着或者是die,能遗传给后代的基因才是优秀的能适应环境的基因。现代生物学已经开始接受量子变异,也就是用进废退。
-从人类的先祖开始,地球就在不停的训练人类,能活下来的基因或者变异基因,都保存下来了,这样不管多少代人类更迭,训练一直都在进行,人类的大脑已经训练的相当适应环境, 甚至主宰了地球。开始改变训练环境。训练了几百万年甚至几千万年的人类大脑,其实是一个预训练模型,人类的大脑这个预训练模型已经在地球不停的训练了很多很多年,甚至上亿年,并且通过繁殖传给后代,一代又一代。大脑这个预训练模型的所有数据都储存在基因里。包括了时间跨度这么多年的训练和基因变异,包括自然选择保存的变异,也包括量子纠缠突变导致的变异。
-所以人类的大脑, **每个人的大脑,都是一个预训练了成千万长百万年的多模态模型** ,这个模型已经一代又一代的训练了很多很多年。人类的本能存在于这个预训练好的多模态模型,包括吃食物,肚子饿,哭,睡觉,行走等等本能。存在于每个人的基因里, **也就是预训练模型存在于基因里。这个预训练模型也包括记忆,对危险的记忆,对大型猫科动物的恐惧,现在人们知道大型网络是有记忆功能的,所以这个模型肯定也包括了对危险的记忆。**
-每个人发育好的大脑,其实都具备了最基础的功能,也就是认识世界保护自己远离危险等。
-大脑在出生以后,还会继续进行训练,每个人的成长环境不同,导致了每个人的模型训练的也不相同,尤其是现代的分门别类,分科学习更加导致了这种情况。
-我们不妨假设人类的某一个或者某几个先祖的多模态模型已经相当完善,也就是大脑功能已经基本完备。意识也就慢慢开始登场了。个人观点是人类最重要的不是学会使用工具,而是学会使用大脑,人类能很好的使用自身的大脑,也就是这个多模态模型。当某个先祖发现工具好使用以后。他或者他的后代会开始试着制作这样的工具,当很少的知识开始一代一代传递,智慧的光芒也就开始传递,各种规则包括语言规则行为规则交往规则,各种规则综合起来也就形成了社会体系,人类学会了使用自己的大脑,意识也就开始形成了。
-这里再说说动物领养的人类,动物领养的人类,基本没有意识,按道理来说既然是人,不管是人类养大的,还是动物养大的,应该都是有意识的。可能动物领养的人类只是不知道怎么表达而已。换句话说他不知道怎么说话。意识要通过语言来表达,或者肢体动作来表达。你说鹦鹉有意识么?我觉得可能有。若是动物领养的人类确实没有意识,那就说明意识是一套规则体系。一套使用大脑的规则体系。而这套规则体系来自社会,来自知识的传承。
-光有多模态模型还是不完备的,要学会使用这个多模型模型或者说是大脑,意识与其说是神学,不如说意识其实是一套规则体系,一套操作系统,意识可以掌控自己或者说是个人的生或者die。你们说大脑具有意识,那么大脑肯定不想消亡,但是人类做出伤害自己的事情并不少,甚至于个体的消失。所以意识独立于大脑,或者说是大脑的某个功能区。当然意识的最重要的作用还是使用大脑,训练大脑以及和大脑交互。
-人类的身体以及大脑,是两个部分,遍布全身的神经网络,以及其他的身体,都是靠着神经和肌肉纤维来控制的。你想吃食物了,猴子想吃食物了,猫咪想吃食物了,你会做饭做菜或者伸手去拿,或者种地种菜,猴子会在树上跳来跳去找食物,猫咪会找你要食物或者去自动取食器,这个是怎么完成的,身体发送了饿了的指令,然后大脑多模型模型输出了一系列指令来达成这个目的,当然可能中途会被打断,但是长期记忆保证了你还记得你饿了,并继续完成这个指令。人类的意识还能完成很多不同的事情,像是学习违背本能。
-人类并不是一出生就具有意识的,你不能说一个刚出生的孩子就具有意识,你说10岁的孩子具有意识么,肯定是有的,但是你能说他的意识已经完备了么,没有,他的意识没有完备。你说13岁的孩子有意识么,肯定是有的,但是你说10岁的孩子的意识比13岁孩子的意识高么,并不会,你会说13岁的孩子更加有意识。16岁的孩子更加有意识,18已经成年了,基本也有意识了。所以意识其实是一个能被衡量的数值,也就是说意识其实是有大小,是有程度的。30的成年人肯定有意识了,30岁的成年人意识肯定比没有成年的小孩子要高,话说到这里,意识是什么应该清楚很多了,意识其实是一套系统,一套操作系统,一套规则体系,意识的完全形成要经历很多年,人类社会的巨大作用就是让意识形成,人类社会就是训练意识的最好方式。意识最重要的功能是使用大脑,和大脑交互,训练大脑。这和人类社会的根本功能是相同的。
-人类的大脑始终都在输入,你的皮肤的感触是输入,眼睛的视觉是输入听力也是输入。
-人在独处甚至黑屋子里为啥会疯掉,主要是脱离了人类社会,但多模型模型还在不停的输入,但是没有反馈,输入的始终都是多模态模型自身的输出,相当是一个RNN[循环神经网络](https://www.zhihu.com/search?q=%E5%BE%AA%E7%8E%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D),输入的永远都是自己的输出。
-====================================================================================================================
-意识是什么? 目前没有定论,但是我个人倾向是:
- **大脑可以看作一个大型多模态模型的话,几千亿神经,记忆的存储是依靠神经元之间的电位差实现的,电位差可以看作神经网络里的参数或者权重**
- **意识是一套类似window10的操作系统,主要功能是负责和大脑这个多模态模型交互,意识或者操作系统对多模态模型进行输入,并得到输出,最后由肢体进行实现**
- **你知道为什么你的脑子里有个声音么?这个声音就是意识或者操作系统的输入,也就是多模态模型的输入,你不停的输入,脑子里的声音也一直回响,然后得到输出。**
- **这个操作系统能做什么:可以训练多模态模型,也就是你能成长,能适应环境,能学习能适应**
- **人类的教育体系从小学到大学,就是一套相当完善的训练机制,狼领养的女孩最后不会说话也不会走路,就是操作系统没有建立起来,或者说不具有作为人的意识。**
- **人的意识的功能主要是训练多模态模型,和多模态模型进行交互,也就问问题然后拿到回答,继续问问题,继续回答的。**
- **当前的多模态模型已经有了,只要建立起相应的操作系统也就是意识,也就是能自己训练自己,那意识基本也就有了,最后强人工智能就建立起来了,skynet将来,关键是能自己输入获取答案,然后接着输入。** **谷歌的palm-e多模态模型已经可以做些事情了,** [https://palm-e.github.io/#demo](https://palm-e.github.io/%23demo)
-
-
-人脑就是量子计算机
-在某种程度上,多数人都会认同一种二元论观点:心智、灵魂或者意识是一种区别于肉体的存在。不过这种二元论在20世纪的科学界却渐渐失宠,大多数神经生物学家都青睐于一元论:他们认为心智与肉体实际上是同一种东西。比如,神经科学家马塞尔·金斯波兰尼(Macel Kinsbourne)认为,“意识是一种具有交互式功能的特殊神经电路”。虽然计算机的逻辑门与神经元的工作方式十分相似,但是即使把计算机进行大规模连接,譬如由数十亿台计算机(虽然与大脑中千亿级别的神经元相比依旧显得微不足道)连接而成的互联网,也无法产生意识。为什么基于硅质的计算机网络只能是行尸走肉而基于血肉的“计算机”网络却能够拥有意识呢?这仅仅是因为我们大脑中数量庞大的神经元在“关联”的复杂度上轻松碾压了互联网吗?还是因为意识本身是一种非常独特的计算方法? 关于意识的解释数不胜数,因此也不乏众多这方面的论著。不过,出于论述的需要,我们只把注意力放在其中一种极度富有争议却又引人入胜的观点上,这种观点与我们的主题十分贴近:意识是一种量子力学现象。这个观点最著名的支持者是牛津大学的数学家罗杰·彭罗斯(Roger Penrose)。他在1989年出版的著作《皇帝的新脑》(The Emperor’s New Mind)里提出,人类的大脑就是量子计算机。
-也许迄今为止,我们对宇宙认识中最为奇怪的一点,就是我们居然意识到了宇宙的存在,而这些认识又竟然来自我们脑袋里作为宇宙一小部分的某些物质:我们那具有意识的大脑。
-人类有一些行为是完全建立在意识之上的,例如语言。
-思维是对大脑中复杂信息的整合,以塑造对我们有意义的概念, 感官信息的整合形成了有意义的概念,而概念的整合则产生了意识。意识驱动大脑进行思维活动,思维活动继而驱使身体发生物理运动。
-大脑与一般的经典物体不同,虽然它也接受各种感官信息的输入,对其进行处理产生相应的输出信号,但是它不是一台计算机(或者一具行尸走肉)。我们认为大脑具有意识(也就是我们的“自我”),意识可以驱动我们主观的行动。那么不同信号之间的整合与纠葛到底发生在哪里?到底什么是意识以及它是如何与大脑相互作用,使我们的手臂、腿或者舌头活动的?意识,或者说自由意志,在目前决定论为主流的宇宙观里显得如此格格不入。因为根据这种宇宙观,从宇宙大爆炸,期间发生的一切都只不过是因果铁律支配下,无穷无尽的因果事件。
- 那么单个思维要如何才能被整合为完整的意识呢?如果仅仅是一个离子通道——无论是量子性的还是经典的——对于承载物体的视觉信息来说,比如一头野牛,都还远远不够。要参与意识的形成,离子通道之间必须以某种方式相互连接。量子力学对此有所助益吗?比如说,有没有一种可能性,一个通道里的离子不仅仅与同一个通道里的其他离子存在量子纠缠,还与周围通道里的离子甚至周围其他神经元离子通道里的离子存在量子纠缠呢?这几乎不可能。离子通道以及其中的离子与彭罗斯-哈梅罗夫理论中的微管面临着同样的问题。如果说相邻离子通道内的离子存在纠缠态还勉强有可能的话,那么在大脑温暖、潮湿、高度动态的退相干环境里,不同神经元之间的离子可以保持纠缠态则完全是痴人说梦。没有神经元之间的联系,也就无法解决捆绑问题。
- 如果离子通道的纠缠态无法实现,还有什么能够作为量子信息绑定的媒介呢?的确还有一种可能:电压门控离子通道。顾名思义,这种离子通道对电压变化十分敏感:电压是对电场梯度分布的衡量,也是开启和关闭离子通道的原动力。大脑内的所有空间都充斥着它自己产生的电磁场,它是所有神经元电生理活动的总和。大脑电磁场是脑扫描技术的例行检查项目,比如脑电图和脑磁图。如果你看到过脑电图或者脑磁图的扫描结果,肯定会惊讶于它们惊人的复杂性和所包含信息的丰富性。大多数神经学家都忽略了大脑电磁场对思维的潜在影响,因为他们习惯于把大脑的电磁场看作火车的汽笛:它们都是自身活动的产物而对它们本身没有什么影响。但是,包括[麦克法登](https://www.zhihu.com/search?q=%E9%BA%A6%E5%85%8B%E6%B3%95%E7%99%BB&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2943732607%7D)在内的一些科学家已经开始改变想法了。他们认为,意识可能不是离散思维的综合,而是大脑电磁场联合影响下的体现,电磁场为捆绑问题的解决以及意识的形成提供了可能。
-大脑电磁场中包含了所有神经元的放电信息,这为捆绑问题的解决提供了可能。此外,通过影响电压门控离子通道的开闭,大脑电磁场直接影响了具有量子相干性的离子活动。 20世纪初,意识的电磁场理论刚刚提出,那时还没有直接证据显示大脑电磁场能够影响神经元的兴奋,进而影响我们的思维和活动。不过,后来在数个实验室里完成的实验都证实,与人类大脑强度、组成相近的外加电磁场的确能够影响神经元的放电和兴奋。实际上,电磁场的作用看起来像是协调神经元兴奋:使众多神经元同步放电,让它们同时兴奋。这些发现提示大脑神经元兴奋所产生的电磁场,同样有可能影响神经元的放电活动,形成一种自我调节的环路。许多理论学家认为,这就是意识的必要组成。 大脑电磁协调神经元同步放电的现象在解决意识这个谜题时显得非常重要,因为这是为数不多的与意识有明确关联的神经活动之一。 ------《神秘的量子生命》《量子物理学的世界》《量子和粒子物理何以解释一切》
-​[http://product.dangdang.com/24008686.html](https://product.dangdang.com/24008686.html)
- - -[九是否随机的称呼:让AI或者GPT具有人类的意识甚至beyond变到AGI](https://zhuanlan.zhihu.com/p/617062052)
- - -[九是否随机的称呼:GPT是否具有意识,或者意识是什么,第2篇](https://zhuanlan.zhihu.com/p/615883280)
- - -[九是否随机的称呼:GPT是否具有意识,或者意识是什么?](https://zhuanlan.zhihu.com/p/615264368) -
- -[https://www.zhihu.com/question/583284785/answer/2943732607](https://www.zhihu.com/question/583284785/answer/2943732607)
- - - -Created: 2023-03-26_11_30・IP_属地上海 -Modified: 2023-03-26T03_30_26_000Z diff --git a/answer/2023-05-22_19_31_零极点_IP_属地新加坡/2023-05-22_19_31・IP_属地新加坡.txt b/answer/2023-05-22_19_31_零极点_IP_属地新加坡/2023-05-22_19_31・IP_属地新加坡.txt deleted file mode 100644 index d4e6dfb..0000000 --- a/answer/2023-05-22_19_31_零极点_IP_属地新加坡/2023-05-22_19_31・IP_属地新加坡.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-05-22_19_31・IP_属地新加坡 -https://www.zhihu.com/question/22031360/answer/144082076 \ No newline at end of file diff --git a/answer/2023-05-22_19_31_零极点_IP_属地新加坡/零极点.pdf b/answer/2023-05-22_19_31_零极点_IP_属地新加坡/零极点.pdf deleted file mode 100644 index 302d33a..0000000 Binary files a/answer/2023-05-22_19_31_零极点_IP_属地新加坡/零极点.pdf and /dev/null differ diff --git a/answer/2023-05-22_19_31_零极点_IP_属地新加坡/零极点_formula_.md b/answer/2023-05-22_19_31_零极点_IP_属地新加坡/零极点_formula_.md deleted file mode 100644 index fd59670..0000000 --- a/answer/2023-05-22_19_31_零极点_IP_属地新加坡/零极点_formula_.md +++ /dev/null @@ -1,45 +0,0 @@ -# 零极点 - -
- - -# answer:
-我不是学控制的,但是模拟电路是可以拿控制系统的那套理论来分析。之前有个哥们在我的专栏文章下面留言,说是我分析零极点的这套说辞实在是“清新脱俗”,可以跟学控制的同学分享一下。我可以讲讲一个电路里面的 - -[零极点](https://www.zhihu.com/search?q=%E9%9B%B6%E6%9E%81%E7%82%B9&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A144082076%7D)是怎么回事。相信也可以让你有些物理上的理解。 - -首先是极点。 - -或者还有一种方式理解极点: - - -至于零点。在电路中,零点就是一条前馈通路。信号不老老实实的按照你给它规定的路线跑,它找到了一条捷径,抄近路了……比如你跟人一起去跑马拉松,结果明明应该跑个圈再回来的,另外那哥们直接走了小路,省了几十公里的路…… - -首先是零点的基本分析: - - -然后是 - -[模拟电路](https://www.zhihu.com/search?q=%E6%A8%A1%E6%8B%9F%E7%94%B5%E8%B7%AF&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A144082076%7D)里面的零点: - -详细内容可以参考我的专栏文章: - -极点的物理意义: - -[知乎专栏](https://zhuanlan.zhihu.com/p/20761778?refer=analogIC) -单极点电路: - -[知乎专栏](https://zhuanlan.zhihu.com/p/20918998?refer=analogIC) -零点的分析: - -[知乎专栏](https://zhuanlan.zhihu.com/p/20945046?refer=analogIC) -零点的物理意义: - -[知乎专栏](https://zhuanlan.zhihu.com/p/20945204?refer=analogIC)
- -[https://www.zhihu.com/question/22031360/answer/144082076](https://www.zhihu.com/question/22031360/answer/144082076)
- - - -Created: 2023-05-22_19_31・IP_属地新加坡 -Modified: 2023-05-22T11_31_42_000Z diff --git a/answer/2023-06-16_06_29_矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_IP_属地上海/2023-06-16_06_29・IP_属地上海.txt b/answer/2023-06-16_06_29_矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_IP_属地上海/2023-06-16_06_29・IP_属地上海.txt deleted file mode 100644 index 7f2094e..0000000 --- a/answer/2023-06-16_06_29_矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_IP_属地上海/2023-06-16_06_29・IP_属地上海.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-06-16_06_29・IP_属地上海 -https://www.zhihu.com/question/605881267/answer/3075609886 \ No newline at end of file diff --git a/answer/2023-06-16_06_29_矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_IP_属地上海/矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;.pdf b/answer/2023-06-16_06_29_矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_IP_属地上海/矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;.pdf deleted file mode 100644 index a25aa4e..0000000 Binary files a/answer/2023-06-16_06_29_矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_IP_属地上海/矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;.pdf and /dev/null differ diff --git a/answer/2023-06-16_06_29_矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_IP_属地上海/矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_formula_.md b/answer/2023-06-16_06_29_矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_IP_属地上海/矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_formula_.md deleted file mode 100644 index 11e2564..0000000 --- a/answer/2023-06-16_06_29_矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_IP_属地上海/矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定;_formula_.md +++ /dev/null @@ -1,28 +0,0 @@ -# 矩阵A正定,如何证明A的逆矩阵和伴随矩阵也正定? - -
- - -# answer:
-存在正交矩阵 $P$ ,使得 $P^{-1}AP=\Lambda$ ,特征值是 $\lambda$ ,特征向量是x,所以 $Ax=\lambda x$ -对A的逆矩阵, $x=\lambda A^{-1}x$ ,所以 $A^{-1}x=\frac{1}{\lambda}x$ ,特征值是倒数,特征向量和 $A$ 的相同 -所以 $A$ 和 $A^{-1}$ 的正交矩阵也相同都是 $P$ ,则 $P^{-1}A^{-1}P=\Lambda^{-1}$ - -$\Lambda=diag\{\lambda_1,\lambda_2,...,\lambda_n\}$ , $\Lambda ^{-1}=diag\{\frac{1}{\lambda_1},\frac{1}{\lambda_2},...,\frac{1}{\lambda_n}\}$ -所以A的逆矩阵 $A^{-1}$ 也是正定的 -
- -根据伴随矩阵的定义: $AA^*=|A|E$ ,所以 $A^*=|A|A^{-1}$ -上面已经推的: $A^{-1}x=\frac{1}{\lambda}x$ ,所以 $A^*x=|A|A^{-1}x=\frac{|A|}{\lambda}x$ -矩阵A的伴随矩阵 $A^*$ ,特征值是倒数然后乘以|A|,特征向量和A的相同 -所以 $A$ 和$A^*$的正交矩阵也相同都是 $P$ ,则 $P^{-1}A^{*}P=|A|\Lambda^{-1}$ - 这里的 $|A|\Lambda^{-1}=diag\{\frac{|A|}{\lambda_1},\frac{|A|}{\lambda_2},...,\frac{|A|}{\lambda_n}\}$ -所以A的伴随矩阵 $A^*$ 也是正定的 -
- -[https://www.zhihu.com/question/605881267/answer/3075609886](https://www.zhihu.com/question/605881267/answer/3075609886)
- - - -Created: 2023-06-16_06_29・IP_属地上海 -Modified: 2023-06-15T22_29_10_000Z diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/0.jpg b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/0.jpg deleted file mode 100644 index c11fc75..0000000 Binary files a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/0.jpg and /dev/null differ diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/1.jpg b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/1.jpg deleted file mode 100644 index c804c5d..0000000 Binary files a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/1.jpg and /dev/null differ diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/2.jpg b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/2.jpg deleted file mode 100644 index 0648051..0000000 Binary files a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/2.jpg and /dev/null differ diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/2023-06-25_20_00・IP_属地上海.txt b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/2023-06-25_20_00・IP_属地上海.txt deleted file mode 100644 index e919407..0000000 --- a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/2023-06-25_20_00・IP_属地上海.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-06-25_20_00・IP_属地上海 -https://www.zhihu.com/question/30315894/answer/3089595368 \ No newline at end of file diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/3.jpg b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/3.jpg deleted file mode 100644 index 84c31b0..0000000 Binary files a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/3.jpg and /dev/null differ diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/4.jpg b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/4.jpg deleted file mode 100644 index 89666a4..0000000 Binary files a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/4.jpg and /dev/null differ diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/5.jpg b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/5.jpg deleted file mode 100644 index b619dc9..0000000 Binary files a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/5.jpg and /dev/null differ diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/6.jpg b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/6.jpg deleted file mode 100644 index 7a917d3..0000000 Binary files a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/6.jpg and /dev/null differ diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/Visual_Studio_Code_如何编写运行_C、C++_程序.pdf b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/Visual_Studio_Code_如何编写运行_C、C++_程序.pdf deleted file mode 100644 index bae2f88..0000000 Binary files a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/Visual_Studio_Code_如何编写运行_C、C++_程序.pdf and /dev/null differ diff --git a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/Visual_Studio_Code_如何编写运行_C、C++_程序_formula_.md b/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/Visual_Studio_Code_如何编写运行_C、C++_程序_formula_.md deleted file mode 100644 index f9a9640..0000000 --- a/answer/2023-06-25_20_00_Visual_Studio_Code_如何编写运行_C、C++_程序_IP_属地上海/Visual_Studio_Code_如何编写运行_C、C++_程序_formula_.md +++ /dev/null @@ -1,130 +0,0 @@ -### Visual_Studio_Code_如何编写运行_C、C++_程序? - -### answer:
-[Configure Visual Studio Code for Microsoft C++](https://code.visualstudio.com/docs/cpp/config-msvc) - -[Get Started with C++ and Mingw-w64 in Visual Studio Code](https://code.visualstudio.com/docs/cpp/config-mingw) - -[C++ programming with Visual Studio Code](https://code.visualstudio.com/docs/languages/cpp) - -第一个[https://code.visualstudio.com/docs/cpp/config-mingw](https://code.visualstudio.com/docs/cpp/config-mingw)内就是介绍了,先安装扩展,接着就可以安装mingw - -### 1、扩展 -[C/C++ extension for VS Code](https://marketplace.visualstudio.com/items%3FitemName%3Dms-vscode.cpptools) - -### 2、MSYS2 -[MSYS2](https://www.msys2.org/)安装好MSYS2以后,就可以使用命令行安装mingw - -### 3、安装[mingw-w](https://www.zhihu.com/search?q=mingw-w&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3089595368%7D) -安装:pacman -S --needed base-devel mingw-w64-x86_64-toolchain -选择这直接默认就好,也就是直接按Enter回车 -
-``` -10696@DESKTOP-9L473HP UCRT64 ~ -$ pacman -S --needed base-devel mingw-w64-x86_64-toolchain -:: There are 19 members in group mingw-w64-x86_64-toolchain: -:: Repository mingw64 - 1) mingw-w64-x86_64-binutils 2) mingw-w64-x86_64-crt-git 3) mingw-w64-x86_64-gcc - 4) mingw-w64-x86_64-gcc-ada 5) mingw-w64-x86_64-gcc-fortran - 6) mingw-w64-x86_64-gcc-libgfortran 7) mingw-w64-x86_64-gcc-libs 8) mingw-w64-x86_64-gcc-objc - 9) mingw-w64-x86_64-gdb 10) mingw-w64-x86_64-gdb-multiarch 11) mingw-w64-x86_64-headers-git - 12) mingw-w64-x86_64-libgccjit 13) mingw-w64-x86_64-libmangle-git - 14) mingw-w64-x86_64-libwinpthread-git 15) mingw-w64-x86_64-make 16) mingw-w64-x86_64-pkgconf - 17) mingw-w64-x86_64-tools-git 18) mingw-w64-x86_64-winpthreads-git - 19) mingw-w64-x86_64-winstorecompat-git - -Enter a selection (default=all): -resolving dependencies... -looking for conflicting packages... -...... -:: Running post-transaction hooks... -(1/1) Updating the info directory file... -``` -
-### 4、配置环境变量 -win10的配置页面即可配置 - 配置系统环境变量,双击PATH即可的,最下面两行 - -### 5、验证 -Windows+R输入cmd运行,然后gcc --version和g++ --version就可以验证的 - -### 6、写codes - -### 7、产生相应的配置档案 -.vscode/[tasks.json](https://www.zhihu.com/search?q=tasks.json&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3089595368%7D),编译运行使用的,两个路径的呢cwd和command -
-``` -{ - "tasks": [ - { - "type": "cppbuild", - "label": "C/C++: g++.exe build active file", - "command": "F:\\kksoftware\\MSYS2\\mingw64\\bin\\g++.exe", - "args": [ - "-fdiagnostics-color=always", - "-g", - "${file}", - "-o", - "${fileDirname}\\${fileBasenameNoExtension}.exe" - ], - "options": { - "cwd": "F:\\kksoftware\\MSYS2\\mingw64\\bin" - }, - "problemMatcher": ["$gcc"], - "group": { - "kind": "build", - "isDefault": true - }, - "detail": "Task generated by Debugger." - } - ], - "version": "2.0.0" - } -``` -
.vscode/launch.json,两个路径的呢cwd和miDebuggerPath -
-``` -{ - "version": "0.2.0", - "configurations": [ - { - "name": "C/C++: g++.exe build and debug active file", - "type": "cppdbg", - "request": "launch", - "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", - "args": [], - "stopAtEntry": false, - "cwd": "F:\\kksoftware\\MSYS2\\mingw64\\bin\\", - "environment": [], - "externalConsole": false, - "MIMode": "gdb", - "miDebuggerPath": "F:\\kksoftware\\MSYS2\\mingw64\\bin\\gdb.exe", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - } - ], - "preLaunchTask": "C/C++: g++.exe build active file" - } - ] - } -``` -
-### 8、编译 -编译的时候要选择相应的配置档案编译和debug - -### 9、编译和debug的路径 -编译:vscode上方:Terminal/Run Build Task -编译+运行:vscode上方:Run/Run without debugging -编译+debug:vscode上方:Run/Start debugging - -
- -[https://www.zhihu.com/question/30315894/answer/3089595368](https://www.zhihu.com/question/30315894/answer/3089595368)
- - - -Created: 2023-06-25_20_00・IP_属地上海 -Modified: 2023-06-25T12_00_25_000Z diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/0.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/0.jpg deleted file mode 100644 index 0116e90..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/0.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/1.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/1.jpg deleted file mode 100644 index 6d16a48..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/1.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/10.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/10.jpg deleted file mode 100644 index d96ab66..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/10.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/11.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/11.jpg deleted file mode 100644 index 4e4aa7a..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/11.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/12.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/12.jpg deleted file mode 100644 index e261b0a..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/12.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/13.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/13.jpg deleted file mode 100644 index 40f3ff0..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/13.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/14.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/14.jpg deleted file mode 100644 index ff62467..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/14.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/15.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/15.jpg deleted file mode 100644 index 79d43c8..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/15.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/16.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/16.jpg deleted file mode 100644 index c8b9452..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/16.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/17.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/17.jpg deleted file mode 100644 index 07c3b81..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/17.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/18.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/18.jpg deleted file mode 100644 index 623883f..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/18.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/19.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/19.jpg deleted file mode 100644 index e50a92b..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/19.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/2.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/2.jpg deleted file mode 100644 index c78f7e8..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/2.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/20.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/20.jpg deleted file mode 100644 index 4928fb1..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/20.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/2023-10-11_00_10・IP_属地上海.txt b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/2023-10-11_00_10・IP_属地上海.txt deleted file mode 100644 index f2c976b..0000000 --- a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/2023-10-11_00_10・IP_属地上海.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-10-11_00_10・IP_属地上海 -https://www.zhihu.com/question/56459698/answer/3244765283 \ No newline at end of file diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/21.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/21.jpg deleted file mode 100644 index 5237107..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/21.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/22.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/22.jpg deleted file mode 100644 index 9c4057e..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/22.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/23.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/23.jpg deleted file mode 100644 index 13fa938..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/23.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/24.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/24.jpg deleted file mode 100644 index 22f74db..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/24.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/25.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/25.jpg deleted file mode 100644 index 30eb1ec..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/25.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/26.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/26.jpg deleted file mode 100644 index 1920ac5..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/26.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/27.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/27.jpg deleted file mode 100644 index e95bdb2..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/27.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/28.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/28.jpg deleted file mode 100644 index 6b02bf3..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/28.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/29.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/29.jpg deleted file mode 100644 index d038937..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/29.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/3.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/3.jpg deleted file mode 100644 index e2d389f..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/3.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/30.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/30.jpg deleted file mode 100644 index ccccfd8..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/30.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/4.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/4.jpg deleted file mode 100644 index 9a675ad..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/4.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/5.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/5.jpg deleted file mode 100644 index 078160f..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/5.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/6.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/6.jpg deleted file mode 100644 index a28a606..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/6.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/7.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/7.jpg deleted file mode 100644 index 2c441ff..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/7.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/8.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/8.jpg deleted file mode 100644 index cad5a25..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/8.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/9.jpg b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/9.jpg deleted file mode 100644 index dccb995..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/9.jpg and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/直流电机建模.pdf b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/直流电机建模.pdf deleted file mode 100644 index 68a4875..0000000 Binary files a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/直流电机建模.pdf and /dev/null differ diff --git a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/直流电机建模_formula_.md b/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/直流电机建模_formula_.md deleted file mode 100644 index 8bbe8db..0000000 --- a/answer/2023-10-11_00_10_直流电机建模_IP_属地上海/直流电机建模_formula_.md +++ /dev/null @@ -1,275 +0,0 @@ -# 直流电机建模 - -# question:
-在车辆自动驾驶上应用了LQR算法,但是基于了运动学模型,这是一个特例,想问在其他控制问题上,LQR可以推广应用吗?应用中会有哪些阻碍? - -
- - -# answer:
-## 一、 - -[直流电机建模](https://www.zhihu.com/search?q=%E7%9B%B4%E6%B5%81%E7%94%B5%E6%9C%BA%E5%BB%BA%E6%A8%A1&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D) - - - - - -有了状态方程,通过以下matlab脚本,可以转化为 - -[传递函数](https://www.zhihu.com/search?q=%E4%BC%A0%E9%80%92%E5%87%BD%E6%95%B0&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D) - - - -``` -[b,a]=ss2tf(A,B,C,D) -``` - - - -## 二、系统性能 - -### - -[开环系统](https://www.zhihu.com/search?q=%E5%BC%80%E7%8E%AF%E7%B3%BB%E7%BB%9F&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)稳定性 - -如果矩阵A的特征值都小于0,则系统开环稳定,意味着初始值不为0的情况下,随着时间推移,系统能够自己回到平衡位置。 - - - -``` -eig(A) -``` - -得到A的特征值为-4.8975和-0.1225,系统开环稳定。 - - - -如上图所示,初始值为5,不为0,运行仿真以后: - - - -状态量x1和x2都能自己回到平衡点0上。 - -### 能控和 - -[能观性](https://www.zhihu.com/search?q=%E8%83%BD%E8%A7%82%E6%80%A7&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D) - -对于一个系统,如果控制矩阵 $[A,A^2B,A^3B.....]$ 的秩为n(状态向量的个数),则系统能控;如果观测矩阵 - - -$[C,C^2A,C^3A,...]$ 的秩为n,则系统能观。 - -对于本系统 - - - -``` -rank(ctrb(A,B)); -rank(obsv(A,C)); -``` - -运行结果都为2,表示系统能控且能观,我们就可以设计一些控制器来控制它,达到我们的小目标(超调小于5%,上升时间小于0.5s, - -[稳态误差](https://www.zhihu.com/search?q=%E7%A8%B3%E6%80%81%E8%AF%AF%E5%B7%AE&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)为0)。 - -## 三、PID调速 - -系统框图: - - - -闭环系统的 - -[特征方程](https://www.zhihu.com/search?q=%E7%89%B9%E5%BE%81%E6%96%B9%E7%A8%8B&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D): - - - -令系统的特征方程为0,就有一大堆连续的即: - - - -[三阶系统](https://www.zhihu.com/search?q=%E4%B8%89%E9%98%B6%E7%B3%BB%E7%BB%9F&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)可以等价于一阶系统乘上一个 - -[二阶系统](https://www.zhihu.com/search?q=%E4%BA%8C%E9%98%B6%E7%B3%BB%E7%BB%9F&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D);根据我们的调速小目标,我们能确定二阶系统的 - -[阻尼比](https://www.zhihu.com/search?q=%E9%98%BB%E5%B0%BC%E6%AF%94&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)和固有频率,进而确定二阶系统的两个主导极点,让第三个极点远离主导极点即可;进而便可以通过对照,算出P、I、D参数。 - - - -参考自控课本二阶系统超调量公式和曲线: 阻尼比为0.707; - - - -参考自控课本,已经有了阻尼比了,可以确定固有频率 - - - -可以取固有频率Wn为20. -现在有了阻尼比和固有频率,可以解 - -[二阶微分方程](https://www.zhihu.com/search?q=%E4%BA%8C%E9%98%B6%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)求两极点了,这个过程也可以交给matlab - - - -``` -kexi=0.707; -wn=20; -syms s; -eqn= s^2+2*kexi*wn*s+wn^2==0; -sol=solve(eqn,s); -disp(sol) -``` - -解得极点s1,s2分别为-14.14±14.14i, 第三个极点,可以让它滚得越远越好,取-14.14*30=-424.2; -有了s1,s2,s3,同样的办法,用matlab,可以让它帮我们求解出Kp,Ki,Kd, -Kp = 3098944/125, Ki = 339360, Kd = 22373/25; -搭个模型仿真下: - - - - - -响应倒是很快,误差和超调也满足我们的要求,但是看着不光滑有点突兀。 -实际工程项目上,往往是一个参数一个参数凭感觉调的....... - -## 四、基于 - -[状态反馈](https://www.zhihu.com/search?q=%E7%8A%B6%E6%80%81%E5%8F%8D%E9%A6%88&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)的调速 - -结构框图: - - - -令 - -[控制律](https://www.zhihu.com/search?q=%E6%8E%A7%E5%88%B6%E5%BE%8B&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)u=r-Kx,其中K=[k1,k2,k3...],对应x=[x1,x2,x3,...]T - - - -只要(A-Bk)特征值都小于0,该状态反馈的闭环系统就能收敛,但是往往仅仅只有还不足以使得输出跟随我们的期望输入。因此引入积分环节,一方面可以抑制干扰,另一方面消除 - -[静差](https://www.zhihu.com/search?q=%E9%9D%99%E5%B7%AE&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)。 - - - -接着又是套娃式的推导: - - - - 得到 - -[增广矩阵](https://www.zhihu.com/search?q=%E5%A2%9E%E5%B9%BF%E7%9F%A9%E9%98%B5&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D): - - - -这样,就把误差和参考值也包含进了系统。现在,我们的目标是:找到合适的 - -[kx](https://www.zhihu.com/search?q=kx&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)和ke,使得Acl的特征值,也即系统的极点,小于0. - - - -有两个办法,用 - -[极点配置法](https://www.zhihu.com/search?q=%E6%9E%81%E7%82%B9%E9%85%8D%E7%BD%AE%E6%B3%95&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)找K和用LQR方法找K。 - -### 基于极点配置法的调速 - -我们将极点配置在S1,2=-14.14±14.14i, S3放置在-70。 - - - -``` -Ae=[A zeros(2,1);-C 0]; -Be=[B;0]; -Po=[-14.14+14.14i,-14.14-14.14i,-70.2]; -K_pole=acker(Ae,Be,Po) -``` - -可以得到K_pole的值:(1.0e+04 *0.0019 0.4765 -5.6143); -建个模型仿真下: - - - - - -### 基于LQR的调速 - -LQR是干什么的?LQR是用来找到合适的输入u(t),使得系统稳定,同时使得 - -[性能函数](https://www.zhihu.com/search?q=%E6%80%A7%E8%83%BD%E5%87%BD%E6%95%B0&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A3244765283%7D)J的值最小,其实也是在找K。 - - - - - -``` -Q=[0.01 0 0; -0 0.01 0; -0 0 100000;] -R=0.000001; -K_lqr=lqr(Ae,Be,Q,R) -``` - -解得K_lqr为K_lqr =1.0e+05 *(0.0010 0.2575 -3.1623);再做个模型仿真下: - - - -## 五、观测器 - -基于状态反馈,在实际控制器中,如果有几个量无法通过传感器测得,那该怎么办?那就得想办法估一下了,下面介绍一种常用的观测器。 -框图: - - - - - -这个式子便是观测器公式,用来搭模型的。 -现在问题变成是来找L了,找到一个合适的L矩阵,使得估算的y_hat与实际实体的y无限接近,实体的输出y是传感器可以测量得到的。观测器是根据系统的输入和传感器采集到的输出,来估算不可采集到的状态量。 -找L同样可以有极点配置法和LQR法两种方法,都大差不差,这里就只用了极点配置法,配置估算的两个极点分别为-20和-10。 - - - -``` -Po_obsv=[-20,-10]; -L_obsv=acker(A',C',Po_obsv) -``` - -解出: L_obsv =745.0000 24.9800.继续搭模型: - - - - - -估算的x1与实际plant的x1一致。 - -## 六、状态反馈+观测器联合仿真 - -现在我们的x1和x2就用观测器的输出了,效果仍然很不错。 - - - - - -最后:这个实验的关键代码和模型都已经贴出共享,如果需要完整脚本和模型,小的也已整好,可以搜某宝店铺, **极简车辆控制** 获取,大哥们的支持是不断创作的动力。 - - - - - -———————————————— - -版权声明:本文为CSDN博主「极简车辆控制」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 - -原文链接: - -[好玩的直流电机调速实验、PID、极点配置、LQR、观测器;不讲大道理_极简车辆控制的博客-CSDN博客](https://blog.csdn.net/MinimalControl/article/details/133757813) - -
- -[https://www.zhihu.com/question/56459698/answer/3244765283](https://www.zhihu.com/question/56459698/answer/3244765283)
- - - -Created: 2023-10-11_00_10・IP_属地上海 -Modified: 2023-10-10T16_10_32_000Z diff --git a/answer/answers.txt b/answer/answers.txt deleted file mode 100644 index ef08945..0000000 --- a/answer/answers.txt +++ /dev/null @@ -1,3 +0,0 @@ -https://www.zhihu.com/question/22031360/answer/2848567528 控制系统中的零极点有什么物理意义么? -https://www.zhihu.com/question/56459698/answer/3244765283 直流电机建模 -https://www.zhihu.com/question/22031360/answer/144082076 零极点 \ No newline at end of file diff --git a/answer/零极点/2023-05-22_19_31・IP_属地新加坡.txt b/answer/零极点/2023-05-22_19_31・IP_属地新加坡.txt deleted file mode 100644 index d4e6dfb..0000000 --- a/answer/零极点/2023-05-22_19_31・IP_属地新加坡.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-05-22_19_31・IP_属地新加坡 -https://www.zhihu.com/question/22031360/answer/144082076 \ No newline at end of file diff --git a/answer/零极点/零极点.pdf b/answer/零极点/零极点.pdf deleted file mode 100644 index 863eabf..0000000 Binary files a/answer/零极点/零极点.pdf and /dev/null differ diff --git a/answer/零极点/零极点_formula_.md b/answer/零极点/零极点_formula_.md deleted file mode 100644 index fd59670..0000000 --- a/answer/零极点/零极点_formula_.md +++ /dev/null @@ -1,45 +0,0 @@ -# 零极点 - -
- - -# answer:
-我不是学控制的,但是模拟电路是可以拿控制系统的那套理论来分析。之前有个哥们在我的专栏文章下面留言,说是我分析零极点的这套说辞实在是“清新脱俗”,可以跟学控制的同学分享一下。我可以讲讲一个电路里面的 - -[零极点](https://www.zhihu.com/search?q=%E9%9B%B6%E6%9E%81%E7%82%B9&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A144082076%7D)是怎么回事。相信也可以让你有些物理上的理解。 - -首先是极点。 - -或者还有一种方式理解极点: - - -至于零点。在电路中,零点就是一条前馈通路。信号不老老实实的按照你给它规定的路线跑,它找到了一条捷径,抄近路了……比如你跟人一起去跑马拉松,结果明明应该跑个圈再回来的,另外那哥们直接走了小路,省了几十公里的路…… - -首先是零点的基本分析: - - -然后是 - -[模拟电路](https://www.zhihu.com/search?q=%E6%A8%A1%E6%8B%9F%E7%94%B5%E8%B7%AF&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A144082076%7D)里面的零点: - -详细内容可以参考我的专栏文章: - -极点的物理意义: - -[知乎专栏](https://zhuanlan.zhihu.com/p/20761778?refer=analogIC) -单极点电路: - -[知乎专栏](https://zhuanlan.zhihu.com/p/20918998?refer=analogIC) -零点的分析: - -[知乎专栏](https://zhuanlan.zhihu.com/p/20945046?refer=analogIC) -零点的物理意义: - -[知乎专栏](https://zhuanlan.zhihu.com/p/20945204?refer=analogIC)
- -[https://www.zhihu.com/question/22031360/answer/144082076](https://www.zhihu.com/question/22031360/answer/144082076)
- - - -Created: 2023-05-22_19_31・IP_属地新加坡 -Modified: 2023-05-22T11_31_42_000Z diff --git a/article/2020-12-31_17_24_单位向量的Jacobian_/0.jpg b/article/2020-12-31_17_24_单位向量的Jacobian_/0.jpg deleted file mode 100644 index 3f74a51..0000000 Binary files a/article/2020-12-31_17_24_单位向量的Jacobian_/0.jpg and /dev/null differ diff --git a/article/2020-12-31_17_24_单位向量的Jacobian_/2020-12-31_17_24.txt b/article/2020-12-31_17_24_单位向量的Jacobian_/2020-12-31_17_24.txt deleted file mode 100644 index 537dc7a..0000000 --- a/article/2020-12-31_17_24_单位向量的Jacobian_/2020-12-31_17_24.txt +++ /dev/null @@ -1,2 +0,0 @@ -2020-12-31_17_24 -https://zhuanlan.zhihu.com/p/340089663 \ No newline at end of file diff --git a/article/2020-12-31_17_24_单位向量的Jacobian_/单位向量的Jacobian.pdf b/article/2020-12-31_17_24_单位向量的Jacobian_/单位向量的Jacobian.pdf deleted file mode 100644 index 8c92031..0000000 Binary files a/article/2020-12-31_17_24_单位向量的Jacobian_/单位向量的Jacobian.pdf and /dev/null differ diff --git a/article/2020-12-31_17_24_单位向量的Jacobian_/单位向量的Jacobian_formula_.md b/article/2020-12-31_17_24_单位向量的Jacobian_/单位向量的Jacobian_formula_.md deleted file mode 100644 index 30a3f5b..0000000 --- a/article/2020-12-31_17_24_单位向量的Jacobian_/单位向量的Jacobian_formula_.md +++ /dev/null @@ -1,48 +0,0 @@ -# 单位向量的Jacobian - -[转载自](https://zhuanlan.zhihu.com/p/340089663) - -令向量 $a=\begin{bmatrix}a_x \\ a_y \\a_z\end{bmatrix}$ ,其对应的单位向量 $a_n= \frac{a}{\|a\|}=\begin{bmatrix}\frac{a_x}{\sqrt{a_x^2+a_y^2+a_z^2}} \\ \frac{a_y}{\sqrt{a_x^2+a_y^2+a_z^2}}\\ \frac{a_z}{\sqrt{a_x^2+a_y^2+a_z^2}}\end{bmatrix}$ , $\|a\|=\sqrt{a_x^2+a_y^2+a_z^2}$ 表示向量 $a$ 的模长,那么 $a$ 的单位向量 $a_n$ 对向量 $a$ 的Jacobian 为: - - -$\begin{equation}\frac {\partial a_n}{\partial a} = J_a^{a_n}= \frac{1}{\|a\|}(I-a_na_n^T)\end{equation}\\$ - -证明: - - -$\begin{aligned} &\frac{\partial {\|a\|}}{\partial a_x} = J_{a_x}^{\|a\|} =\frac{a_x}{\|a\|}\\ &\frac{\partial {\|a\|}}{\partial a_y} = J_{a_y}^{\|a\|} =\frac{a_y}{\|a\|}\\ &\frac{\partial {\|a\|}}{\partial a_z} = J_{a_z}^{\|a\|} =\frac{a_z}{\|a\|}\\ \end{aligned}\\$ - -按分式求导法则有: - - -$\begin{aligned} &\frac{\partial {\frac{a_x}{\|a\|}}}{{\partial a_x}} = \frac{\|a\|-\frac{a_x^2}{\|a\|}}{\|a\|^2} =\frac{1}{\|a\|} - \frac{a_x^2}{\|a\|^3} \\ &\frac{\partial {\frac{a_y}{\|a\|}}}{{\partial a_x}} = \frac{-\frac{a_xa_y}{\|a\|}}{\|a\|^2} =- \frac{a_xa_y}{\|a\|^3} \\ &\frac{\partial {\frac{a_z}{\|a\|}}}{{\partial a_x}} =\frac{-\frac{a_xa_z}{\|a\|}}{\|a\|^2} =- \frac{a_xa_z}{\|a\|^3} \end{aligned}\\$ - - 于是有: - - -$\begin{aligned}\frac{\partial a_n}{a} &= \begin{bmatrix} \frac{1}{\|a\|} - \frac{a_x^2}{\|a\|^3} &- \frac{a_xa_y}{\|a\|^3} &- \frac{a_ya_z}{\|a\|^3} \\ - \frac{a_ya_x}{\|a\|^3} &\frac{1}{\|a\|} - \frac{a_y^2}{\|a\|^3} & - \frac{a_xa_z}{\|a\|^3} \\ - \frac{a_za_x}{\|a\|^3} & - \frac{a_za_y}{\|a\|^3} & \frac{1}{\|a\|} - \frac{a_z^2}{\|a\|^3} \end{bmatrix}\\ &=\frac{1}{\|a\|}\left(I- \begin{bmatrix} \frac{a_x^2}{\|a\|^2} &\frac{a_xa_y}{\|a\|^2} &\frac{a_ya_z}{\|a\|^2} \\ \frac{a_ya_x}{\|a\|^2} &\frac{a_y^2}{\|a\|^2} & \frac{a_xa_z}{\|a\|^2} \\ \frac{a_za_x}{\|a\|^2} & \frac{a_za_y}{\|a\|^2} & \frac{a_z^2}{\|a\|^2} \end{bmatrix}\right)\\ &=\frac{1}{\|a\|}\left(I-a_na_n^T\right) \end{aligned}\\$ - -这意味着某一个向量的单位向量对该向量的Jacobian等于该向量的模长的倒数乘以该向量的垂直投影矩阵(本人自定义的名称哈哈哈),垂直投影矩阵和反对称矩阵之间有很多特殊的性质,后续再补充介绍.....先说一下垂直投影矩阵名字的来源: - - - -如图所示,假设向量 $a$ 和向量 $b$ 之间的夹角为 $\theta$ ,那么向量 $b$ 在向量 $a$ 方向的投影为: - - -$b_{\parallel} = a_n*\|b\|*\cos{\theta}=a_n*\|b\|*\frac{a_n^Tb}{\|b\|}=a_n*a_n^Tb=a_na_n^Tb \\$ - -向量 $b$ 在垂直于向量 $a$ 方向的投影为: - - -$b_{\bot} = b-b_{\parallel}=b-a_na_n^Tb=(I-a_na_n^T)b \\$ - -于是对于任意一个向量 $b$ ,它在垂直于向量 $a$ 方向的投影可以由矩阵 $I-a_na_n^T$ 决定,我把这个矩阵称之为向量 $a$ 的垂直投影矩阵,记为 $[a]_{\bot}=I-a_na_n^T$ , $[a]_{\bot}$ 是一个反对称矩阵,它的特殊性之后再分析. - - - -
- -[https://zhuanlan.zhihu.com/p/340089663](https://zhuanlan.zhihu.com/p/340089663)
- - - diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/0.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/0.jpg deleted file mode 100644 index 5948a2c..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/0.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/1.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/1.jpg deleted file mode 100644 index dca6465..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/1.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/10.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/10.jpg deleted file mode 100644 index f4afb92..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/10.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/11.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/11.jpg deleted file mode 100644 index c1c7074..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/11.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/12.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/12.jpg deleted file mode 100644 index b123eeb..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/12.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/13.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/13.jpg deleted file mode 100644 index 97719bd..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/13.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/14.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/14.jpg deleted file mode 100644 index 7cd3f7c..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/14.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/15.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/15.jpg deleted file mode 100644 index 2c1f86d..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/15.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/16.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/16.jpg deleted file mode 100644 index 5d74740..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/16.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/17.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/17.jpg deleted file mode 100644 index 54b92e5..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/17.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/18.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/18.jpg deleted file mode 100644 index b8449e9..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/18.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/19.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/19.jpg deleted file mode 100644 index 86ac411..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/19.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/2.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/2.jpg deleted file mode 100644 index 5bd2674..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/2.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/20.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/20.jpg deleted file mode 100644 index 8c90ca5..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/20.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/2021-03-30_17_07.txt b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/2021-03-30_17_07.txt deleted file mode 100644 index 7a6cdc9..0000000 --- a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/2021-03-30_17_07.txt +++ /dev/null @@ -1,2 +0,0 @@ -2021-03-30_17_07 -https://zhuanlan.zhihu.com/p/360207704 \ No newline at end of file diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/21.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/21.jpg deleted file mode 100644 index c2de56a..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/21.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/22.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/22.jpg deleted file mode 100644 index f5bb041..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/22.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/23.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/23.jpg deleted file mode 100644 index ba4ba13..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/23.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/24.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/24.jpg deleted file mode 100644 index 27a3050..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/24.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/25.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/25.jpg deleted file mode 100644 index 3cfc068..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/25.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/26.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/26.jpg deleted file mode 100644 index c3f9e22..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/26.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/27.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/27.jpg deleted file mode 100644 index 370f908..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/27.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/28.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/28.jpg deleted file mode 100644 index c985fd5..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/28.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/29.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/29.jpg deleted file mode 100644 index 47d1ccb..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/29.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/3.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/3.jpg deleted file mode 100644 index 0472ff5..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/3.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/30.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/30.jpg deleted file mode 100644 index 49f587a..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/30.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/31.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/31.jpg deleted file mode 100644 index 85844ea..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/31.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/32.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/32.jpg deleted file mode 100644 index 4cd26ad..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/32.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/33.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/33.jpg deleted file mode 100644 index 445ee0a..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/33.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/34.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/34.jpg deleted file mode 100644 index 7afa653..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/34.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/35.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/35.jpg deleted file mode 100644 index e5ec909..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/35.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/36.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/36.jpg deleted file mode 100644 index 6136624..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/36.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/37.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/37.jpg deleted file mode 100644 index 1c0df90..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/37.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/38.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/38.jpg deleted file mode 100644 index 56e2796..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/38.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/39.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/39.jpg deleted file mode 100644 index eecca0a..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/39.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/4.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/4.jpg deleted file mode 100644 index 862eebd..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/4.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/40.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/40.jpg deleted file mode 100644 index 231251c..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/40.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/41.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/41.jpg deleted file mode 100644 index a3717ce..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/41.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/42.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/42.jpg deleted file mode 100644 index f19bbc5..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/42.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/43.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/43.jpg deleted file mode 100644 index a8ab2bc..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/43.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/44.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/44.jpg deleted file mode 100644 index e2d86f8..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/44.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/45.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/45.jpg deleted file mode 100644 index 266d5fc..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/45.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/46.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/46.jpg deleted file mode 100644 index ec0e6af..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/46.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/47.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/47.jpg deleted file mode 100644 index db169ca..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/47.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/48.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/48.jpg deleted file mode 100644 index 8c97000..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/48.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/49.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/49.jpg deleted file mode 100644 index 275c184..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/49.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/5.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/5.jpg deleted file mode 100644 index 633ad73..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/5.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/50.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/50.jpg deleted file mode 100644 index 8c97000..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/50.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/51.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/51.jpg deleted file mode 100644 index fda3f8b..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/51.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/52.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/52.jpg deleted file mode 100644 index b19ecd3..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/52.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/53.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/53.jpg deleted file mode 100644 index 8df4bbf..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/53.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/54.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/54.jpg deleted file mode 100644 index b19ecd3..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/54.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/55.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/55.jpg deleted file mode 100644 index 3823e8e..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/55.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/56.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/56.jpg deleted file mode 100644 index 9ceac23..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/56.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/57.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/57.jpg deleted file mode 100644 index 7090317..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/57.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/58.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/58.jpg deleted file mode 100644 index 9ed9eb1..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/58.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/6.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/6.jpg deleted file mode 100644 index bc50dae..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/6.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/7.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/7.jpg deleted file mode 100644 index 779b1c6..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/7.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/8.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/8.jpg deleted file mode 100644 index 4487381..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/8.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/9.jpg b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/9.jpg deleted file mode 100644 index c5ae259..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/9.jpg and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/CAE设计师的你,有必要了解计算电磁学吗.pdf b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/CAE设计师的你,有必要了解计算电磁学吗.pdf deleted file mode 100644 index 64dcac7..0000000 Binary files a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/CAE设计师的你,有必要了解计算电磁学吗.pdf and /dev/null differ diff --git a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/CAE设计师的你,有必要了解计算电磁学吗_formula_.md b/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/CAE设计师的你,有必要了解计算电磁学吗_formula_.md deleted file mode 100644 index 81ca939..0000000 --- a/article/2021-03-30_17_07_CAE设计师的你,有必要了解计算电磁学吗_/CAE设计师的你,有必要了解计算电磁学吗_formula_.md +++ /dev/null @@ -1,350 +0,0 @@ -# CAE设计师的你,有必要了解计算电磁学吗? - -[转载自](https://zhuanlan.zhihu.com/p/360207704) - - - - - - **“作为一个CAE设计师,有必要了解计算电磁学吗?”** - -电磁从业人员按照分工大致可以分为两类:一类从事CEM(计算电磁学),一类从事CAE(计算机辅助设计)。CEM工程师日常的工作内容主要就是“码代码”,目的在于设计“速度更快,精度更高,内存占用更小”的仿真工具,而CAE工程师的日常工作内容主要就是“跑仿真”,目的是利用各种仿真工具,完成诸如天线/滤波器/功分器等元器件的设计。他们的分工与“铸剑师”和“剑客”的关系是一样一样的。 - - - -该篇为 **“缘起收敛性”** 系列的第二篇文章,也是"电磁CAEer"基础理论部分 **体系性** 的一篇文章,旨在为电磁CAE工程师提供一份CEM几种重要算法以及对应的CAE仿真工具的使用说明,并使用最为通俗易懂的语言对这些算法的底层原理进行说明,以期让大家对CEM的底层理论获得最为直观的认知。 - - - - **1.说在前面** - -上一篇文章,我们说到,基于Maxwell方程的电磁求解是电磁学研究最为重要的组成,“一张纸,一支笔就可以推演出电磁世界的万千种种”的愿望虽然美好,然而现实却总是那么“冰冷”,解析求解这种“炫技”只适用于自由空间辐射或者少数形状十分规整的散射体。直到“离散”的思想被引入,“计算电磁学的春天”来了…… - -[大兵与小樱:缘起“收敛性”(1)——Maxwell方程与求解12 赞同 · 5 评论文章](https://zhuanlan.zhihu.com/p/344100572) - -这篇文章是要正式介绍“计算电磁学”的发展历程/现状以及相关底层原理。主要内容分为两个部分: - -希望通过这两个部分的讲解来回答大多数电磁CAEer在平时软件选择和使用中碰到的两个主要的疑问:1)选什么软件好;2)这个软件好在哪。 - - **2.历史与现状** - -20世纪60年代以来,随着计算电磁学的发展,针对电磁问题的数值求解方法层出不穷,其中有三种方法发展最为成熟,形成“鼎立”之势:1)时域有限差分法Finite-Difference Time-Domain method(FDTD),该方法由 **K.S.Yee** 在20世纪60年代首先提出,核心思想是采用差分直接离散时域麦克斯韦方程;2)有限元法Finite-Element-Method(FEM), **P.P.Silvester** 在20世纪60年代末首先使用该方法用于波导本征值问题的求解;3)矩量法Method of MoMents(MoM), **K.K.Mei** 于 20世纪60年代初首先将其应用于二维散射问题的求解,后在此基础之上发展而来的多层快速多级子算法(MLFMM)更是极大的提高了MoM的计算效率。有关“计算电磁学”的发展历程和现状,大家有兴趣可以阅读文献 **《电磁计算方法研究进展综述》** ,我在此就不赘述了。工程上,三种算法各自形成了电磁CAE领域成熟的商业软件,其中要以达索公司的CST(有限积分法),ANSYS公司的HFSS(有限元)以及Altair公司的FEKO(矩量法)应用最为广泛。 - -[电磁计算方法研究进展综述.pdf546.7K · 百度网盘](https://pan.baidu.com/link/zhihu/7hh0zaudhri0bRhWlTcXpMZlTSRGxkdwZHFl==) - -电磁计算算法大致可以按照“时域/频域”和“微分/积分”两个标准,通过两两组合划分为四类。三大算法中, **按照第一个标准,FDTD为时域算法,而FEM和MoM同为频域算法;按照第二个标准,FDTD和FEM同为微分方法,而MoM为积分方法** 。 - -底层原理的差异也使得三种方法的适用环境明显不同,了解了不同算法的优势,才能在软件选择时更加得心应手。四种主要算法在计算速度,计算精度,内存消耗,收敛性以及计算模型的电尺寸5个主要性能对比情况如图所示(数值只代表相对差异): - - - -FDTD算法:采用差分直接离散时域Maxwell方程,电磁场的求解基于时间步的迭代,无需存储全空间的电磁场信息, **内存消耗较小** ,同时采用立方体网格和差分算法,网格形式和算法均十分简单, **计算速度也贼快** ,基于时域算法,特别适合“宽带问题”的求解。但是,简单的立方体方体网格带来的弊端就是模型拟合精度较低,对于含有精细结构的模型, **计算精度较低** ,同时基于“微分方程”,计算区域需要设置截断。FDTD比较适合于不含有较多精细结构的 **电大尺寸模型** 的电性能计算以及 **宽带问题** 的计算; - -既然每一种算法都有每一份“快乐”,那是不是将两种算法混合一下,就会收获双份“快乐”,据此各种混合算法的研究层出不穷,想要深入了解计算电磁学最新研究前沿,可以观看如下视频。 - -[电磁计算若干关键技术的发展——盛新庆教授_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com/video/BV1Xv411k7mG](https://www.bilibili.com/video/BV1Xv411k7mG) - -达索,ANSYS,Altair三大巨头通过数十年来的行业整合,最终分别将电磁CAE界的三大主流软件CST,HFSS以及FEKO收入门下,而CST,HFSS以及FEKO通过这么多年的发展,也早已不在局限于各自的核心算法发展,各自向对方的腹地拓展,均发展成为“时域与频域兼顾,积分与微分并举”的综合软件。但是,通过对实际仿真软件的使用情况来看,每种软件在其核心算法上的优势还是无法撼动的。 - - **3.底层原理** - -本文四大算法底层原理的写作支撑主要有三个:1)计算电磁学圣殿UIUC电磁学实验室和计算电磁学中心主任 **金建铭** 教授的著作 **《计算电磁学(第二版)》** ;2)作者研究生期间的《计算电磁学》笔记,授课教师为计算电磁学大佬/电子科大副校长 **胡俊** 教授;3)各类算法的相关研究文献。 - -[基于时域有限差分(FDTD)法的电磁场通用仿真软件设计.pdf3.4M · 百度网盘](https://pan.baidu.com/link/zhihu/71hUzUuahZikUw0UpVV6xBtWaVN01iRwZzdj==) - -[基于多层快速多极子方法的高效快速算法研究.pdf1.6M · 百度网盘](https://pan.baidu.com/link/zhihu/7VhFzcuOhDiGNzkH12NO1KdmNtNzZDUwdyAD==) - -[计算电磁学笔记.pdf222.7M · 百度网盘](https://pan.baidu.com/link/zhihu/7RhGzNubhPimU4t2pEZ1Z1J2UsTn5EcQQIFD==) - -[矩量法及其新进展.pdf1.5M · 百度网盘](https://pan.baidu.com/link/zhihu/7lhlzRuXhPi0cDt2dlSmh0YUW3dnlVZQUZdW==)本文将以专业的学术著作为支撑,用最通俗易懂的方式介绍FDTD,FEM,MoM以及MLFMM四种算法的底层原理,揭示基于不同算法的商业软件在处理不同电磁问题时性能差异的本质来源。如果想要获取这些算法更加深入的认识,可以去阅读相关算法的文章以及作者的笔记。 - - **3.1时域有限差分法(FDTD)** FDTD是最古老也是最简单的一种数值方法,其离散的对象直接是 **时域微分形式** 的Maxwell方程组: - - - -FDTD所使用离散形式也是最为简单的 **立方体网格** 。 - - - -如上一篇文章所述,方程中包含了对电场$E$和磁场$B$分布函数的时间微分运算以及空间微分运算,以电场$E$为例,其中 $\frac{\partial E}{\partial t}$ 表示 $E$ 对时间的微分运算,$\triangledown \cdot E$ 和$\triangledown \cdot E$表示 $E$ 对空间的微分运算,其最终均可以拆解为 $\frac{\partial E}{\partial x}$ ,$\frac{\partial E}{\partial y}$ ,$\frac{\partial E}{\partial z}$ 的组合,这四种微分运算可以用这种通用的表达式 $\frac{\partial f}{\partial x}$ 进行描述,其可近似为一种简单差分形式: - - - -利用这个近似运算,可以将电E场对时间的微分运算转换成前一时刻的电场 $E_{(t)}$ 与后一时刻电场 $E_{(t+\Delta t)}$ 之间的运算关系。同样地电场E对空间微分运算转换成前一位置处的电场 $E_{(x)}$ 与后一位置处的电场 $E_{(x+\Delta x)}$ 之间的运算关系 ,因而只要给定了电磁场的初始值 $E_{(t0)}$ 和 $B_{(t0)}$ (初始条件)以及边界值 $E_{(x0,y0,z0)}$ 和 $B{(x0,y0,z0)}$ (边界条件),即可以基于差分关系式,通过不断的循环迭代,求解出任意时刻,任意位置处的电磁场分布 $E_{(x,y,z,t)}$ 和 $B_{(x,y,z,t)}$ 。其优缺点十分明显: - -优点:由于采用差分方程以及立方体网格,理论基础和网格划分都相对简单,对于电大尺寸的目标求 **解速度快,内存消耗小** ,同时采用基于时域算法,因此适合于 **宽带问题的求解** ; - - - - **3.2有限元(FEM)** - - - -有限元法基于频域Maxwell方程,其求解的对象是时谐电磁场,即电磁场在时间维度上是周期性分布,循环往复,无始无终,时间变量自然也就失去了意义,电磁场只是空间变量的分布函数: - - - -其采用了 **拟合效果更好** 的四面体网格对求解区域体进行剖分。 - - - -求解空间离散后,紧接着是要空间中待求解的电磁场分布进行离散,其核心思想在于寻找到一组展开未知解的基函数: - - - -其中 $E_{j}$ 为第j条棱边的切向分量,为待求的切向分量,而 $N_{j}$ 为相应棱边上对应的基函数,一旦将所有未知量 $E_{j}$ 求解出来,则整个空间中电场分布就完成了求解。这类似于傅里叶级数中使用三角函数展开任意形式的周期函数,所要做的就是求解每个基函数前面系数,然而对于形状不规则的电磁问题,这种基函数的寻找是及其困难甚至不可能的,有限元法的做法是将目标离散成小的单元(三角形,四面体),然后使用非常简单的线性函数或二次函数来近似这个单元上的未知解,这些简单的基函数是一种子域基函数,其与上文中傅里叶级数展开中的全局基函数有着很大的不同。利用有限元将目标离散,并依据电场E在空间Ω满足的波动方程和在边界Γ上满足的边界条件条件建立子域基函数的系数所满足的方程组: - - - -该方程未知量为子域基函数的系数,完成所有未知量的求解,整个空间的电场分布既可以表示为子域函数的叠加。 - - **3.3矩量法(MoM)** - -FDTD和FEM的统治方程均基于微分形式的Maxwell方程,其特点为:1)其通过直接求解“场”(电场或磁场)满足的方程来获得空间电磁场的分布;2)求解对象为“微分形式”的Maxwell方程。而MoM则基于一种完全不同的求解思路。 - -MoM算法理论主要分为两个部分:一个是矩量法支撑理论,主要包括 **“格林函数”,“源-场关系”,“等效原理”** 三个子理论,它们是MoM算法如此特立独行的根本原因;另一个则是矩量法计算理论,主要包括四个步骤:建立支配方程—>离散—>匹配—>矩阵求解,这与FEM或FDTD算法的求解过程并无明显区别。 - - - -1)格林函数 - -格林函数为: $g_{(R)}=\frac{1}{4\pi R}e^{-jkR}$ ,其中 $R=\left|r-r^{'} \right|$ 表示场点位置 $r$ 与源点 $r^{'}$ 位置之间的距离,其为波动方程: - - - -的解,其中 的表达式为: - - - -代表空间点源的分布形式,而 $g_{(r-r^{'})}=\frac{1}{4\pi (r-r^{'})}e^{-jk(r-r^{'})}$ 就是这个点源在空间中产生的电磁场分布。 - - - -如果将电磁波的传播类比为光的传播话(当然光也是电磁波的一种),那么这里的点源 $\delta_{(r-r^{'})}$ 就可以类比为在 $r$ 处放置一个功率为1w的LED小灯泡,它的光会照亮整个空间,而空间中任意位置r处的光照强度就可以表示为 $g_{(r-r^{'})}=\frac{1}{4\pi (r-r^{'})}e^{-jk(r-r^{'})}$ ,亮度在小灯泡处( $r-r^{'}$ )趋于无穷大,距离小灯泡越远,亮度越低。 - -2)源-场关系 - -如上所述,格林函数给定了一个点源在空间中辐射的电磁波的分布形式,同样的我们用光的传播来进行类比,格林函数给出了一个功率为1W的LED小灯泡在空间各个地方产生的光照强度的计算公式,但是如果空间中不只一个LED灯泡,而是有N个LED小灯泡组成的阵列,而且这些每个小灯泡的功率还不都是1W(姑且假设第i个小灯泡位置为 $r_{i}$ 的功率为 $P_{i}$ ),那么这个LED阵列在空间中任意位置 $r$ 处产生的光照强度 $G_{r}$ 就可表示为每个小灯泡在r处产生的光照强度的叠加,而每一个小灯泡在r处产生光照强又应该是1w小灯泡的 $P_{i}$ 倍,这应该是显而易见的,即为: - - - - - -好的,我们现在把视线拨回“电磁场”的求解,通过对Maxwell方程的变换,可以得到电场“E”和磁场“H”所满足的波动方程,方程的形式为: - - - -当你看到这个方程时,不知是否有立马原地爆炸的冲动,但其实这个方程与格林函数满足的波动方程本质上并无不同,方程的左边与 - - - -的左边完全相同,这确定了方程的类型以及解的形式,方程的右边只是由原来的点源分布 $\delta_{(r-r^{'})}$ 变成了更为复杂的 $f_{(r-r^{'})}$ ,在电场“E”满足的方程中: - - - -在磁场“H”满足的方程中: - - - -其中“J”和“K”分别为目标体上的电流与磁流,其仅存在于目标体上,在自由空间中没有分布。此处的 $f_{(r-r^{'})}$ (电流源,磁流源的体或面分布)与 $\delta_{(r-r^{'})}$ (点源)的区别就如同包含无数LED小灯泡组成的灯列阵与一个LED小灯泡的区别,那么”E”和“H“的解,可以类比的表示为: - - - -所不同的是,前面LED灯阵列为离散分布,而此处的电流“J”和磁流“K”的分布为连续分布,因此求和“∑”就变成了求积分“∫”。至此,空间中的场分布“E”和“H”就和目标体上的源分布“J”和“K”建立了联系,这就是“源-场关系”。 - -3)等效原理 - -电磁散射问题求解看似是一个非常复杂的物理学问题,因为计算的场景千变万化,目标的形式也多种多样,有反射面天线的辐射问题,也有天线罩的透波问题以及飞行器的RCS问题……,然而本质就是计算目标如何干扰入射电磁波传播,进而影响全空间电磁场的分布,其基本模型很简单: - - - -MoM看待目标的方式与FEM和FDTD也有明显不同,FEM和FDTD会关注目标本身,而MoM则基于“等效原理”, **使用目标体上的等效源将目标完全代** 替,其关注于“等效源”而非“目标”,在MoM的世界里,没有“人”,只有“夜光火柴人”。 - - - -基本模型中的目标体按照材料的特性可以分为两种情况,第一种就是均匀介质,第二种就是非均匀介质,其中针对均匀介质,可以采用面等效原理,针对非均匀介质,可以采用体等效原理。 - -假设目标体为电参数为 $\varepsilon_{r}$ 和 $\mu_{r}$ 的非均匀介质体,自由空间充斥着电参数为 $\varepsilon_{0}$ 和 $\mu_{0}$ 的介质,一束已知分布的电磁波(电场分布为 $E^{i}$ ,磁场分布为 $H^{i}$ )照射到目标体1上,目标体1产生的散射场为 $E^{s}$ 和 $H^{s}$ ,空间中总场应为入射场和散射场之和,即 $E^{t}=E^{i}+E^{s}$ , $H^{t}=H^{i}+H^{s}$ 。 - - - -体等效原理就说:以上两种物理模型,对于2区域的电磁场分布是等效的,目标体1对 空间中电磁场分布的影响可以用分布在目标体内的等效源(体电流 $J_{v}$ 和体磁流 $K_{v}$ )在空间中产生的散射场进行等效。等效源 $J_{v}$ 和 $K_{v}$ 产生的散射场和可以依据上文中的源-场关系进行求解: - - - -至于等效源 $J_{v}$ 和 $K_{v}$ 具体是多少,那就是后续需要求解的未知量啦。 - -当然现实中更多情形是目标体1为均匀介质体,这种情况要更为简单。假设目标体1为电参数为 $\varepsilon_{1}$ 和 $\mu_{1}$ 的均匀介质体,自由空间充斥着电参数为 $\varepsilon_{2}$ 和 $\mu_{2}$ 的介质,一束已知分布的电磁波(电场分布为 $E^{i}$ ,磁场分布为 $H^{i}$ )照射到目标体1上,目标体1产生的散射场为和$E^{s}$ 和 $H^{s}$,空间中总场应为入射场和散射场之和,即 $E^{t}=E^{i}+E^{s}$ , $H^{t}=H^{i}+H^{s}$ 。 - - - -面等效原理就说:以上两种物理模型,对于2区域的电磁场分布是等效的,目标体1对 空间中电磁场分布的影响可以用分布在目标体表面的等效源(面电流 $J_{s}$ 和面磁流 $K_{s}$ )在空间中产生的散射场进行等效。同样地,等效源 $J_{s}$ 和 $K_{s}$ 产生的散射场 $E_{s}$ 和 $H_{s}$ 可以依据源-场关系进行求解: - - - -而等效源和会作为未知量进行求解,这里需要补充说明以下:我们在FEKO中利用MoM或者MLFMM算法进行计算的时候,绝大部分情况下都是利用面三角形网格对目标体的表面进行剖分,而并不对目标体内部进行剖分,其主要原因就是对于均匀介质或者金属,仅存在于目标体表面的面等效源即可等效替代整个目标体的作用,因此考虑目标体内部的情况。 - -如果感觉上面的推演难以理解,我们继续使用LED小灯泡发光来对等效原理进行更加形象的解读。 - - - -“源-场关系”一节中的LED小灯泡其实是自带电池的光源,会自己发光,与外部有没有光照没有关系。而此处,我们的LED小灯泡是太阳能LED小灯泡,这些小灯泡或分布于目标体表面(均匀介质)或分布于目标体内部(非均匀介质),它们的发光形式为被动发光,能量来源是光照给太阳能充电,总光源包括太阳光以及每个小灯泡的灯光,光照越强,小灯泡亮度就越高,此处的即小灯泡的功率$P_i$取决于照射到该小灯泡上的光照的强度。由图可知:在矩量法的世界里,每个小灯泡之间都是相互耦合的,每个小灯泡的发光亮度不仅取决于太阳光的照射,还取决于其他小灯泡的灯光的照射,同时自身的发出的光也会反过来影响其他小灯泡的发光亮度,这就导致小灯泡功率$P_i$无法直接进行求解。对于这种许许多多相互影响的未知变量的求解问题,最好的办法就是将他们统统设置为未知数,然后建立方程组进行统一求解。 - -小结一下:通过“格林函数”,“源-场关系”以及“等效原理”三个工具的一顿操作,在FEM算法和FDTD算法中,我们关心的还是未知量电场和磁场的求解,而到了MoM算法中,我们已经不太关心电场磁场(光照强度)的直接求解,而是转而将目标体上的等效电/磁流(每个小灯泡的功率)作为未知量进行求解,这就将关注区域从整个求解空间聚焦到目标体上,减少了未知量,然而这些未知量之间“剪不断,理还乱”的互耦也正是MoM算法与FEM以及FDTD算法的最大区别,将导致MoM算法后续矩阵求解更加困难。 - -4)矩量法计算模式 - -介绍完支撑矩量法理论的三大基础理论,现在可以正式开始介绍矩量法了。 - -Step1:建立支配方程 - -由上可知,基于等效原理,目标体对空间电磁场的影响可以等效为目标表面或目标体内的等效源产生的散射场对空间总长分布的影响,而等效源与散射场之间的关系可以基于“源-场关系”进行确定,因此最终的问题就演变成为求解目标体表面或内部的等效源。 - -想要求解等效源,就必须要先建立等效源满足的支配方程。矩量法的支配方程来源于边界条件,以任意外形理想导体(一般仿真分析中,金属目标可以近似为理想导体)的散射计算为例进行说明。在理想导体表面,面电流$J_s$和面磁流$K_s$满足关系: - - - -在理想导体表面,由于电场的切向分量始终为零,所以只有面电流$J_s$没有面磁流$K_s$,因此等效电流产生的散射场就可以简化为: - - - - - -同时空间中的总电场$E^t=E^i+E^s$,即总电场可以表示为入射场$E^i$与散射场$E^s$之和,从而有: - - - -其中散射场$E^s$可以由源-场关系转化为电流源$J_s$的表达式,略加化简,可得: - - - -公式虽然看起来很让人脑壳疼,其实表达意思很简单,这是一个已知入射电场分布$E^i$求解未知量$J_s$的方程,这也就是等效源$J_s$满足的支配方程。 - -Step2:离散 - - - - 正如上一篇文章中霍格沃兹魔法学校体积计算方法所述,离散基本上可以分为两个过程:1)由于现实版的建筑太复杂,所以用乐高版的霍格沃兹魔法学校来近似替代;2)将乐高版的霍格沃兹魔法学校拆成一个个乐高积木块,然后数数,最后建筑物的体积就约等于每个积木块体积之和。 - -那么具体到矩量法中又是如何“离散”的呢?,我们先从一维简单形式开始掰扯,如图所示,红色曲线是一个连续分布的一维函数$J_{(x)}$,这个函数无法用一个简单的表达式直接表达出来(无解析解)。此时,我们先将[0,20]这个区间等分成20段,然后如图所示在每一段上画一个蓝色矩形长条,而所有矩形的上边沿组成台阶可以近似表示红色曲线,当然这样的近似还是有误差的,但是通过不断的增加矩形长条的数量,减小矩形长条的宽度,它们之间的误差就可以不断减小。 - - - -同样地,台阶折线的表达式,也是由许许多多的乐高积木块组合而成,这里的乐高积木块叫做“子域基函数”,它的表达式为: - - - -“基函数”就表示它是一个基本单元,“子域”表示它在特定区域内有值,区域外均为0。如图所示的黄色曲线就是$f_{14}$的形式,那么位于x=14处的台阶就可以表示为: - - - -其中$j_{14}$为基函数的系数,也是台阶的高度。 整个台阶的分布函数$T_{(x)}$可以表示为所有台阶之和,即: - - - -当然,相比于一维形式,矩量法的离散方法要更加复杂, 复杂主要表现在两个方面:1)目标体是三维的,其上的面电流也是三维分布的;2)电流$J_s$为矢量而非标量。 - -矩量法使用三角面元对目标体表面进行拟合的,这样小兔子表面的电流分布可以近似由所有三角面元上的电流分布进行表示,与一维情况类似,我们需要建立基于三角面元的“子域基函数”,然后将相应面元上电流分布就可以表示为系数与基函数的积。 - - - -矩量法使用的基函数为RWG基函数,这是三位电磁学家S.M.Rao,Wilton以及Glisson于1982年提出。取网格上的任意棱边$l_n$,共用该棱边的两个三角形为$T_n^+$和$T_n^-$,则针对棱边定义的基函数为: - - - -其中$\rho ^+=r-r^+$, $\rho ^-=r^--r$,$r^+$为棱边$l_n$在$T_n^+$上对应顶点坐标,$r^-$为棱边$l_n$在$T_n^-$上对应顶点坐标,$A_n^+$和$A_n^-$分别为三角形$T_n^+$和$T_n^-$的面积,如此这般,三角形上的每个棱边都可以定义一个矢量形式的基函数$f_n$,那么分布于该三角面元上的电流$J_m$可以用定义于三个棱边上的矢量基函数$f_{(n-1)}$, $f_n$以及$f_{(n+1)}$通过线性叠加的方式进行表示: - - - - - -以上关系对于目标体上的任意三角面元均成立,即处于任意三角面元上的电流分布总是可以表示为公共棱边上的基函数的线性叠加,所以对于目标体表面电流$J_s$有: - - - -这样基于矩量法完成了对目标体的离散。 - -Step3:匹配 - -通过前面两个步骤,我们建立了目标体表面电流$J_s$满足的“支配方程”: - - - -也通过目标体的离散,建立了表面电流$J_s$的“假想解”: - - - -其实这个“假想解”还是一个未知解,基函数$f_n$前面的系数$j_n$统统都是未知量,我们最终的目的就是要求解出所有的$j_n$,从而就完成了表面电流$J_s$的求解,这个过程就是“匹配”,顾名思义,用“假想解”去匹配“真实解”。 - -由于“假想解”的未知量有N个,因此需要建立N个方程,做法就是使用N个测试函数$f_m$去测试,每次测试都会建立一个方程,N次测试可以建立N个方程,方程组可以简化为: - - - -其中,$V_n$依据入射电场求得,为已知量,$j_n$为电流分布的系数,是待求的系数,$Z_{mn}$的具体表达形式较为复杂,我就不展开了,但其物理含义代表了m位置处的电流源$j_m$和n处的电流源$j_n$之间的耦合,可以通过积分进行求解。 通过解方程组,可以求得所有位置处的电流源$j_n$,则整个目标体上的电流分布为: - - - -再利用“源-场关系”可以求得等效源的散射场“$E^s$”和“$H^s$”的分布: - - - -空间中总场分布就是散射场与入射场之和。 - - **3.4快速多级子(MLFMM)** - -矩量法的出现将未知量的求解区域从“场分布空间”聚焦到目标体上,虽然极大减少了未知量的数目,但是由于“等效源”之间的互耦关系,待求解的散射矩阵为稠密矩阵,求解过程需要消耗大量的存储内存和求解时间,对于电大尺寸目标的计算还是不够友好。此时,快速多级子算法横空出世,其核心思想为:1)根据电流元在空间的位置进行分组;2)基于“矢量加法原理”将组内不同电流元发出的辐射场变成一个共同中心辐射的场。通过这一过程大幅减少了未知量的互耦所带来的巨大计算量。 - -我们现在利用“快递邮寄”来对这个过程进行解释,假定:国内的每个城市都是一个“电流元”,每个城市之间包裹一次往来就是“电流元”之间互耦的计算,每个省就是一个“分组”,省会就是“组中心”。 - -现取两个省(任意两个分组)中,并分别从中各取四市(电流元),八个城市之间进行“快递往来”(互耦计算),这个问题可以分为两类:1)同省之间的快递往来(组内电流元的互耦计算);2)跨省之间的快速往来(组间电流元的互耦计算)。 - -矩量法:不管是同省快递还是跨省快递,每个城市都向剩余7个城市开辟一条货运路线,进行快递运输,其路线图就如图所示,看到这样这样的路线图,相信你也凌乱了; - - - - - - 快速多级子:将同省快速和跨省快递分类解决:1)对于同省快递,运输方案与方案一相同,每个城市分别开通至剩余三市的运输线路;2)对于跨省快递,则先在各自省会设立一个“集散中心”,先将广东四市的快递运输至广州(聚合),再将包裹统一发往福州(转移),最后再由福州分发至福建四市(解聚),其路线图如图所示,由图可知,线路图规整了许多,简直就是强迫症福音。 - - - - - -由图可知,通过“聚合-转移-解聚”这个过程,跨省之间的运输线路显著减少,反映至快速多级子算法上,就是未知量之间互耦计算规模显著减少,而且这种优势会随着未知量增加呈现出指数级变化,从而显著减少内存消耗,提高计算速度。 - -当然,凡事有利就有弊,快速多级子算法在收获“计算速度提高,内存消耗减少”优点的同时,也付出了“精度下降,收敛性变差”的代价,这个暂且不表,如果大家感兴趣,点赞过百,我会再出一期,详细介绍快速多级子算法引起精度下降,收敛性变差的底层原理。 - - - -好了,如同”裹脚布“一般的这篇文章终于结束了。首次尝试这种万字长文,从年前写到年后,拖更了快两个月,在经历了一个多月的“学习-消化-理解“这样一个过程后,终于以一种我认为最通俗易懂的方式完成了枯燥深奥的计算电磁学理论的讲解。希望各位读者大人能分三个层次掌握计算电磁学的基本理论。 **第一层次:** 对文中有关计算电磁学基本理论的类比图形成深刻的印象; **第二层次** :能掌握文中关于计算电磁学理论的几个重要的数学推演过程; **第三层次:** 能通过文末补充的专业学术文献和课程笔记全面掌握计算电磁学的所有数学推演过程与结论(当然,这也就成神了)。 - - **最后,我想回到文章最开始的疑问:“作为一个CAE设计师,有必要了解计算电磁学吗?”** - - **看完这篇文章,明天你的仿真该花多长时间可能还是花多少时间 ,该遇到的bug可能一个也不会少,该不收敛的时候可能还是不收敛......,它可能无法解决你仿真过程中遇到的棘手问题,但却可以像武林绝学中的“心法“一样,帮助你在电磁CAE的修罗场里,能够始终多一份笃定与从容......** - - - -[基于MATLAB-FEKO-API技术的复杂结构+相控阵天线的快速建模​mp.weixin.qq.com/s?__biz=Mzg3NjM4MDcwMQ==&mid=2247483669&idx=1&sn=69aa4b6360b887aa1fc6b4343f21f12f&chksm=cf325667f845df714c22ddf9c350554f4896aebda117368fa6227f5a6ea1611f07094a3edd9d&scene=21#wechat_redirect](https://mp.weixin.qq.com/s%3F__biz%3DMzg3NjM4MDcwMQ%3D%3D%26mid%3D2247483669%26idx%3D1%26sn%3D69aa4b6360b887aa1fc6b4343f21f12f%26chksm%3Dcf325667f845df714c22ddf9c350554f4896aebda117368fa6227f5a6ea1611f07094a3edd9d%26scene%3D21%23wechat_redirect) - -[大兵与小樱:自适应微带相控阵天线建模模块4 赞同 · 0 评论文章](https://zhuanlan.zhihu.com/p/262875176) - -[大兵与小樱:Hypermesh萌新笔记(一)102 赞同 · 11 评论文章](https://zhuanlan.zhihu.com/p/270384761) - -[大兵与小樱:FEKO进阶道路上的一些常用技巧(一)21 赞同 · 14 评论文章](https://zhuanlan.zhihu.com/p/295185652) - -[最美的公式:你也能懂的麦克斯韦方程组(积分篇)​mp.weixin.qq.com/s?__biz=Mzg3NjM4MDcwMQ==&mid=2247483743&idx=1&sn=23e6b1da00e04265c890faf7ad4a2d9b&chksm=cf32562df845df3bf2d3125e24efb6f3c605909af1e4582ac0a0d41d29f4e645c92d013260b7&scene=21#wechat_redirect](https://mp.weixin.qq.com/s%3F__biz%3DMzg3NjM4MDcwMQ%3D%3D%26mid%3D2247483743%26idx%3D1%26sn%3D23e6b1da00e04265c890faf7ad4a2d9b%26chksm%3Dcf32562df845df3bf2d3125e24efb6f3c605909af1e4582ac0a0d41d29f4e645c92d013260b7%26scene%3D21%23wechat_redirect) - -[大兵与小樱:缘起“收敛性”(1)——Maxwell方程与求解12 赞同 · 5 评论文章](https://zhuanlan.zhihu.com/p/344100572) - - - -​更多有关电磁CAE相关内容,请关注“电磁CAEer”,将为你提供从基础理论->软件使用->算法赋能->应用场景等有关“电磁仿真”全方位的认识。 - - - -
- -[https://zhuanlan.zhihu.com/p/360207704](https://zhuanlan.zhihu.com/p/360207704)
- - - diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/0.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/0.jpg deleted file mode 100644 index 556dc56..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/0.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/1.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/1.jpg deleted file mode 100644 index ce08734..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/1.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/10.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/10.jpg deleted file mode 100644 index 556dc56..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/10.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/11.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/11.jpg deleted file mode 100644 index 6484892..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/11.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/2.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/2.jpg deleted file mode 100644 index 8dac85b..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/2.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/2021-07-16_11_04.txt b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/2021-07-16_11_04.txt deleted file mode 100644 index 433bbad..0000000 --- a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/2021-07-16_11_04.txt +++ /dev/null @@ -1,2 +0,0 @@ -2021-07-16_11_04 -https://zhuanlan.zhihu.com/p/390004533 \ No newline at end of file diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/3.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/3.jpg deleted file mode 100644 index 277a128..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/3.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/4.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/4.jpg deleted file mode 100644 index 9759c1a..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/4.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/5.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/5.jpg deleted file mode 100644 index c95b2b2..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/5.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/6.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/6.jpg deleted file mode 100644 index 376faf2..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/6.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/7.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/7.jpg deleted file mode 100644 index c442493..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/7.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/8.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/8.jpg deleted file mode 100644 index b0b7579..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/8.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/9.jpg b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/9.jpg deleted file mode 100644 index 8612a5b..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/9.jpg and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/利用MATLAB实现电磁场的可视化.pdf b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/利用MATLAB实现电磁场的可视化.pdf deleted file mode 100644 index 97a612a..0000000 Binary files a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/利用MATLAB实现电磁场的可视化.pdf and /dev/null differ diff --git a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/利用MATLAB实现电磁场的可视化_formula_.md b/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/利用MATLAB实现电磁场的可视化_formula_.md deleted file mode 100644 index ac93d88..0000000 --- a/article/2021-07-16_11_04_利用MATLAB实现电磁场的可视化_/利用MATLAB实现电磁场的可视化_formula_.md +++ /dev/null @@ -1,269 +0,0 @@ -# 电动力学(二) | 利用MATLAB实现电磁场的可视化 - -[转载自](https://zhuanlan.zhihu.com/p/390004533) - - - -``` -前言 - -1 可视化方法 -2 实例——匀强电场中的电介质球 - 2.1 理论推导 - 2.2 实现方法 -3 图片展示 - -附录 MATLAB代码 -``` - - **前言** - -本文主要介绍了利用MATLAB进行电磁场可视化的方法。首先总结了MATLAB中用于场的可视化常用的函数,然后结合电磁学的实例进行了理论推导和可视化的详细讲解。 - - - -电动力学基础知识可以看这篇文章, - -[拉格朗日L2:电动力学 | 麦克斯韦方程组总结268 赞同 · 17 评论文章](https://zhuanlan.zhihu.com/p/389642864) - - **1 可视化方法** - -在MATLAB中,用于场的可视化的函数有 **streamline、contour、contourf、quiver** ,如下表所示。除此之外, **mesh、surf、imagesc** 等很多函数也可以用于场的可视化。我们这里主要介绍下面四种。 - -streamline根据向量数据绘制流线图streamline(X,Y,Z,U,V,W,startx,starty,startz)contour创建一个包含矩阵 Z 的等值线的等高线图contour(X,Y,Z)contourf创建一个包含矩阵 Z 的等值线的填充等高线图contourf(X,Y,Z)quiver将向量显示为箭头,用于向量场的可视化quiver(x,y,u,v)以下为 **官方文档** 中的这三种函数的示例,帮助大家熟悉函数的使用。 - - - -``` -[x,y] = meshgrid(0:0.1:1,0:0.1:1); -u = x; -v = -y; -startx = 0.1:0.1:1; -starty = ones(size(startx)); -streamline(x,y,u,v,startx,starty) -``` - - - - - -``` -[X,Y,Z] = peaks; -contour(X,Y,Z,20) -``` - - - - - -``` -[x,y] = meshgrid(0:0.2:2,0:0.2:2); -u = cos(x).*y; -v = sin(x).*y; -quiver(x,y,u,v) -``` - - - - **2 实例——匀强电场中的电介质球** - - **2.1 理论推导** - -假设小球的电容率为 $\varepsilon$ ,半径为 $R$ ,匀强电场的电场强度大小为 $E_0$ 。 - - - -由于在这一区域里不存在自由电荷,因此电势满足拉普拉斯方程,即, - - -$\nabla^2 \varphi =0$ - -我们在数理方法中学过,该方程在球坐标系下的通解为, - - -$\varphi(r,\theta,\phi )=\sum_{l,m}^{} (A_{l}^{m}r^l+B_{l}^{m}\tfrac{1}{ r^{l+1}})P_{l}^{m}(\cos \theta )\cos m\phi + \sum_{l,m}^{} (C_{l}^{m}r^l+D_{l}^{m}\tfrac{1}{ r^{l+1}})P_{l}^{m}(\cos \theta )\sin m\phi$ - -该问题是轴对称形式,于是有 **m=0** ,则方程的解可以简化为, - - -$\varphi(r,\theta,\phi )=\sum_{l}^{} (A_{l}r^l+B_{l}\tfrac{1}{ r^{l+1}})P_{l}(\cos \theta )$ - -在该问题中,需要分为球外和球内两个区域, - - -$\begin{cases} 球外: \varphi_1=\sum_{l}^{} (A_{l}r^l+B_{l}\tfrac{1}{ r^{l+1}})P_{l}(\cos \theta ) \\ 球内: \varphi_2=\sum_{l}^{} (C_{l}r^l+D_{l}\tfrac{1}{ r^{l+1}})P_{l}(\cos \theta ) \end{cases}$ - -接下来就是根据边界条件确定系数。 - -经过计算,得到方程的解为, - - -$\begin{cases} \varphi_1=-E_0r\cos\theta +\frac{\varepsilon-\varepsilon_0}{\varepsilon+2\varepsilon_0}\frac{R^3\cos\theta}{r^2} \\ \varphi_2=-\frac{3\varepsilon_0}{\varepsilon+2\varepsilon_0}E_0r\cos \theta \end{cases}$ - - - - **2.2 实现方法** - - **Step1** 设置常数值 - -设置半径 $R$ ,电场强度 $E_0$ ,介电常数 $\varepsilon$ 和 $\varepsilon_0$ 。 - - - -``` -% 设置常数 -a = 0.4; % 半径 -E0 = 2; % 电场强度 -k1 = 0.05; k0 = 0.01; %介电常数 -``` - - **Step2** 生成格点并计算电势的值 - -为了在二维平面上展现物理场,我们首先需要利用meshgrid生成二维格点。 - -在解方程时,我们选取的是球坐标系。根据球对称性,我们只需画出其中一个切面。然而这个切面和平面极坐标并不完全一样( $\theta$ 的取值范围)。因此,我们只能 **首先画出第一象限** 内的场,然后根据对称性,得到四个象限的场。 - -电势的表达式我们已经得出。 - - -$\begin{cases} \varphi_1=-E_0r\cos\theta +\frac{\varepsilon-\varepsilon_0}{\varepsilon+2\varepsilon_0}\frac{R^3\cos\theta}{r^2} \\ \varphi_2=-\frac{3\varepsilon_0}{\varepsilon+2\varepsilon_0}E_0r\cos \theta \end{cases}$ - - - -``` -[X,Y] = meshgrid(0:0.01:1); -[theta,r] = cart2pol(Y,X); % 转为极坐标 -rout = r; rin = r; -rin(rin>a) = NaN; % 圆内部(设置外部为NaN) -rout(rout - - - - - - **3 图片展示** - -这里展示了几幅其他类型的电磁场,都是用MATLAB画的。 - - - - - - - - **附录 MATLAB代码** - - - -``` -clc -clear - -a = 0.4; E0 = 2; -k1 = 0.05; k0 = 0.01; - -[X,Y] = meshgrid(0:0.01:1); -[theta,r] = cart2pol(Y,X); -rout = r; rin = r; -rin(rin>a) = NaN; % 圆内部(设置外部为NaN) -rout(rout - -[https://zhuanlan.zhihu.com/p/390004533](https://zhuanlan.zhihu.com/p/390004533)
- - - diff --git a/article/2021-12-15_15_44_ISO_10303_/2021-12-15_15_44.txt b/article/2021-12-15_15_44_ISO_10303_/2021-12-15_15_44.txt deleted file mode 100644 index 44b01df..0000000 --- a/article/2021-12-15_15_44_ISO_10303_/2021-12-15_15_44.txt +++ /dev/null @@ -1,2 +0,0 @@ -2021-12-15_15_44 -https://zhuanlan.zhihu.com/p/445665310 \ No newline at end of file diff --git a/article/2021-12-15_15_44_ISO_10303_/ISO_10303.pdf b/article/2021-12-15_15_44_ISO_10303_/ISO_10303.pdf deleted file mode 100644 index 7da0af8..0000000 Binary files a/article/2021-12-15_15_44_ISO_10303_/ISO_10303.pdf and /dev/null differ diff --git a/article/2021-12-15_15_44_ISO_10303_/ISO_10303_formula_.md b/article/2021-12-15_15_44_ISO_10303_/ISO_10303_formula_.md deleted file mode 100644 index 66a34c8..0000000 --- a/article/2021-12-15_15_44_ISO_10303_/ISO_10303_formula_.md +++ /dev/null @@ -1,24 +0,0 @@ -# 【ISO工业化数据交换42部分:几何与拓扑表示(step格式)ISO 10303-42:2019 】(一)范围 - -[转载自](https://zhuanlan.zhihu.com/p/445665310) - -ISO 10303的这一部分规定了用于几何和拓扑表示的综合通用资源结构。以下内容属于ISO 10303这一部分的范围。 - -以下是几何包括的范围: - -以下是拓扑结构包括的范围: - -以下是几何模型的范围: - -以下是扫描3D模型数据的定义范围: - -以下内容不属于ISO 10303定义的范围: - -注意:对于一个有规则的曲面,其几何形状主要取决于边界曲线的参数化和两条曲线上的点对的关联方法。然而,带有B-spline边界曲线的规则曲面可以由B-spline曲面实体精确表示。 - -
- -[https://zhuanlan.zhihu.com/p/445665310](https://zhuanlan.zhihu.com/p/445665310)
- - - diff --git a/article/2022-04-15_19_38_spring教程_/0.jpg b/article/2022-04-15_19_38_spring教程_/0.jpg deleted file mode 100644 index d60551f..0000000 Binary files a/article/2022-04-15_19_38_spring教程_/0.jpg and /dev/null differ diff --git a/article/2022-04-15_19_38_spring教程_/1.jpg b/article/2022-04-15_19_38_spring教程_/1.jpg deleted file mode 100644 index aac0124..0000000 Binary files a/article/2022-04-15_19_38_spring教程_/1.jpg and /dev/null differ diff --git a/article/2022-04-15_19_38_spring教程_/2.jpg b/article/2022-04-15_19_38_spring教程_/2.jpg deleted file mode 100644 index 1b9ce4f..0000000 Binary files a/article/2022-04-15_19_38_spring教程_/2.jpg and /dev/null differ diff --git a/article/2022-04-15_19_38_spring教程_/2022-04-15_19_38.txt b/article/2022-04-15_19_38_spring教程_/2022-04-15_19_38.txt deleted file mode 100644 index 0497143..0000000 --- a/article/2022-04-15_19_38_spring教程_/2022-04-15_19_38.txt +++ /dev/null @@ -1,2 +0,0 @@ -2022-04-15_19_38 -https://zhuanlan.zhihu.com/p/499075895 \ No newline at end of file diff --git a/article/2022-04-15_19_38_spring教程_/3.jpg b/article/2022-04-15_19_38_spring教程_/3.jpg deleted file mode 100644 index 63bd829..0000000 Binary files a/article/2022-04-15_19_38_spring教程_/3.jpg and /dev/null differ diff --git a/article/2022-04-15_19_38_spring教程_/4.jpg b/article/2022-04-15_19_38_spring教程_/4.jpg deleted file mode 100644 index 6a0e967..0000000 Binary files a/article/2022-04-15_19_38_spring教程_/4.jpg and /dev/null differ diff --git a/article/2022-04-15_19_38_spring教程_/5.jpg b/article/2022-04-15_19_38_spring教程_/5.jpg deleted file mode 100644 index 48b5f36..0000000 Binary files a/article/2022-04-15_19_38_spring教程_/5.jpg and /dev/null differ diff --git a/article/2022-04-15_19_38_spring教程_/6.jpg b/article/2022-04-15_19_38_spring教程_/6.jpg deleted file mode 100644 index daaf077..0000000 Binary files a/article/2022-04-15_19_38_spring教程_/6.jpg and /dev/null differ diff --git a/article/2022-04-15_19_38_spring教程_/7.jpg b/article/2022-04-15_19_38_spring教程_/7.jpg deleted file mode 100644 index 6cacef0..0000000 Binary files a/article/2022-04-15_19_38_spring教程_/7.jpg and /dev/null differ diff --git a/article/2022-04-15_19_38_spring教程_/spring教程.pdf b/article/2022-04-15_19_38_spring教程_/spring教程.pdf deleted file mode 100644 index 4099f45..0000000 Binary files a/article/2022-04-15_19_38_spring教程_/spring教程.pdf and /dev/null differ diff --git a/article/2022-04-15_19_38_spring教程_/spring教程_formula_.md b/article/2022-04-15_19_38_spring教程_/spring教程_formula_.md deleted file mode 100644 index 1f11138..0000000 --- a/article/2022-04-15_19_38_spring教程_/spring教程_formula_.md +++ /dev/null @@ -1,1678 +0,0 @@ -# Spring-全面讲解(无比详细)入门看这一篇就够了 - -[转载自](https://zhuanlan.zhihu.com/p/499075895) - - - -### 1、Spring框架体系 - -### 2、 IOC - -### 3、AOP - -### 4、整合mybatis - -### 5、处理事务 - -### 6、开发web项目 - -### 1、Spring框架体系 - -看前必知,由于本文非常之详细,所以篇幅较长,望耐住性子,保证一定会有收获,先上spring体系结构思维导图。 - - - - - - - - - - - - -下文的顺序基本也是按照此导图进行展开讲述。 - -### 2、 IOC - - **2.1 什么是IOC** -IoC (Inversion of Control) : 控制反转, 是一个理论,概念,思想。把对象的创建,赋值,管理工作都交给代码之外的容器实现, 也就是对象的创建是有其它外部资源完成,这样做实现了与解耦合。 -正转:对象的创建、赋值等操作交由程序员手动完成,即使用类似new Xxx(Xxx Xxx)、Xxx.setXxx()语句完成对象的创建与赋值,缺点是一旦程序功能发生改变,涉及到的类就要修改代理,耦合度高,不便于维护和管理。 -反转:对象的创建、赋值等操作交由代码之外的容器实现,有容器代替程序员完成对象的创建、赋值;且当程序功能发生变化时,只需要修改容器的配置文件即可。 - - **java实现创建对象的方式有哪些** - -其实在以前我们已经接触过了容器创建对象的场景,还记得tomcat服务器吗,在tomcat启动时会实例化servletContext上下文对象;在发出请求时,相应的servlet对象也不是由开发人员进行实例化的,而是在tomcat内部由tomcat容器实例化的,回忆一下在学习javaweb的时候,我们有写过类似new XxxServlet()这样的代码吗,现在想必大家对容器有一个大概的概念了吧。 - -### 2.3 基于配置文件的di实现 - - **2.3.1 什么是di** - - **2.3.2 入门案例** -使用ioc容器创建对象,调用对象的方法 - - **2.3.3 环境搭建** - -本人的项目结构如下 - - - - - - - - - - - - -接口和实现类 - - - -``` -//接口 -public interface SomeService { - void doSome(); -} -//实现类 -public class SomeServiceImpl implements SomeService { - //无参构造 - public SomeServiceImpl() { - System.out.println("SomeServiceImpl类的无参构造执行了..."); - } - - @Override - public void doSome() { - System.out.println("执行了SomeServiceImpl的doSome()方法"); - } -} -``` - -ioc配置文件 - - - -``` - - - - - - - - - - -``` - -测试程序 - - - -``` -//使用spring容器创建对象 - @Test - public void test02() { - //1、指定spring配置文件的名称 - String config = "beans.xml"; - //2、创建表示spring容器的对象 ApplicationContext - //ClassPathXmlApplicationContext:表示从类路径中加载spring配置文件 - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - //3、从容器中获取对象 - SomeService service = (SomeService)ac.getBean("someService"); - //4、调用方法 - service.doSome(); - } - - /** - * 测试spring容器创建对象的时机 - * 在创建spring容器时,会创建配置文件中的所有对象 - */ - - @Test - public void test03() { - //1、指定spring配置文件路径 - String config = "beans.xml"; - //2、创建spring容器 - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - - /** - * 测试输出结果: - * SomeServiceImpl类的无参构造执行了... - * SomeServiceImpl类的无参构造执行了... - * 验证了spring调用类的无参构造完成对象的创建 - */ - } - - //获取spring容器中java对象的信息 - @Test - public void test04() { - String config = "beans.xml"; - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - //获取spring容器中对象的个数 - int beansCount = ac.getBeanDefinitionCount(); - System.out.println("spring容器中的对象个数="+beansCount); - //获取spring容器中对象的名称(即bean标签的id值) - String[] beansNames = ac.getBeanDefinitionNames(); - for (String beanName : beansNames) { - System.out.println(beanName); - } - } -``` - - **2.3.4 案例总结** - - **2.3.5 简单类型属性的赋值(set注入)** - -在入门案例的总结我们说过了spring容器默认是使用无参构造构造来实例化对象的,那么对象的属性必定为初始值,例如int类型为0,boolean类型为false等,那么当我们想使用相关属性进行操作时必然要手动使用set方法给属性赋值,那么有没有办法让容器帮我们完成对象属性的赋值呢?让我们直接就能够从容器中拿到有属性值的对象?答案是肯定的,下面就通过代码演示简单类型的属性赋值。 - - **set注入要求** - -看看代码: - - **JavaBean** - - - -``` -public class Student { - private String name; - private int age; - private School school; - public void setName(String name) { - this.name = name; - } - public void setAge(int age) { - this.age = age; - } - public void setSchool(School school) { - this.school = school; - } - @Override - public String toString() { - return "Student{" + - "name='" + name + '\'' + - ", age=" + age + - ", school=" + school + - '}'; - } -} -``` - - **spring配置文件** - - - -``` - - - - - - - - -``` - - **测试类** - - - -``` -//使用set注入给对象属性赋值 - @Test - public void test01() { - String config = "ba01/applicationContext.xml"; - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - //执行完14行此时Student对象的属性已被赋值,获取对象进行验证 - Student stu = (Student) ac.getBean("student"); - System.out.println(stu); //Student{name='张三', age=23} - } - - //验证set注入调用的是对象的set方法 - @Test - public void test02() { - String config = "ba01/applicationContext.xml"; - - /* - * 此时会调用set方法进行赋值 - * setName... - * setAge... - */ - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - - } - - //验证没有属性的setXxx方法是否报错 - @Test - public void test03() { - String config = "ba01/applicationContext.xml"; - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - //获取对象 - Student stu = (Student) ac.getBean("student"); - - } -``` - - **2.3.6 非简单类型属性的赋值(set注入)** -上文中的set注入使用property标签的name和value属性给对象属性赋值,但是value知识给简单类型属性赋值,对于非简单类型我们是使用property标签的name和ref属性给对象属性赋值。我们现在给Student类增加一个属性address,该属性是一个引用类型,那当ioc容器创建Student对象时如何给address属性赋值呢? - - **Student类:别的地方与上文的student类一致,这里只给出address属性和其set方法** - - - -``` -//引用类型属性 - private Address address; - public void setAddress(Address address) { - System.out.println("引用类型address的set方法执行了..."); - this.address = address; - } -``` - - **Address类** - - - -``` -public class Address { - - private String homeAddress; - private String schoolAddress; - - public void setHomeAddress(String homeAddress) { - this.homeAddress = homeAddress; - } - - public void setSchoolAddress(String schoolAddress) { - this.schoolAddress = schoolAddress; - } - - @Override - public String toString() { - return "Address{" + - "homeAddress='" + homeAddress + '\'' + - ", schoolAddress='" + schoolAddress + '\'' + - '}'; - } -} -``` - - **applicationContext.xml配置文件** - - - -``` - - - - - - - - - - - - - - - - -``` - -当ioc容器创建id为student的对象时,会进行set注入,当执行到最后一个propert标签时发现使用了ref属性,则ioc容器知道了name为address的属性是非简单类型,它就会暂时跳过address属性的赋值以及Student对象的创建,转而去配置文件的下文去找bean标签id值等于ref属性值的对象,现将该对象创建,再将该对象赋值给之前的address属性并将Student对象创建。 - - **2.3.7 构造注入** -顾名思义,构造注入是使用javabean的构造方法进行属性的赋值的。与set注入一样,构造注入要求javabean必须提供构造方法,且必须是有参构造(如果是无参构造还怎么给属性赋值,对吧),构造注入使用较少,了解就可以了,我们一般使用set注入。看看代码吧,将Student类的set方法注释,加入构造方法,别的地方不用改变,只需要改变spring配置文件即可(这里就可以看出ioc容器与程序的解耦合的好处了)。 - - - -``` - - - - - - - - - - - - - - - - - - - -``` - - **2.3.8 非简单类型的自动注入** -对于非简单类型,我们在上面是使用ref属性指向一个非简单类型的对象来完成赋值的,那么当ioc容器每次给一个对象的非简单类型属性赋值时,就要在bean标签内部写一行ref这样的代码,这样会造成重复代码的大量堆积,可以使用引用类型的自动注入。 - -有两种方式的引用类型自动注入 - -下面通过配置文件来详细说明两种形式的实现,在这里还是以Student类的address属性为例来说明。 - - **byName形式** - - - -``` - - - - - - - - - - -``` - - 当ioc容器在创建Student对象时,发现使用了autowire属性且属性值为byName,ioc容器就会去Student类中去拿引用类型的属性名与和spring配置文件中的bean标签的id值进行比对,若发现有一致的且数据类型一致,则将该对象赋值给引用类型属性。 - - **byType形式** - - - -``` - - - - - - - - - - - - - -``` - -### 2.4 基于注解的di实现 - -除了使用配置文件实现ioc创建对象的功能外,使用spring提供的注解也可以实现di。下面来介绍注解方式的di实现,下面是spring提供的di实现的常用注解。 - -下面通过代码来看看@Component注解是怎么实现di的。 - - - -``` -@Component(value = "student") -public class Student { - ... -} -``` - -该语句就等价为在spring配置文件中进行了以下声明 - - - -``` - -``` - -但是怎么让配置文件知道哪些类是使用注解进行创建对象的呢?需要在配置文件中声明组件扫描器 - - - -``` - -``` - -当spring读取配置文件时,读取到组件扫描器声明语句时,就会去base-package指定的包和其子包下去递归的寻找有注解修饰的类,并根据注解的功能去执行相应的动作 - - **2.4.1 简单类型的注解di实现** - -简单类型的注入使用@Value注解实现,哪些简单类型要设置属性值,直接在简单类型属性声明语句的上面加入注解@Value即可,并在@Value的括号内键入属性值,注意不论简单类型属性的数据类型,均由双引号将属性值括起来。例如之前的Student类使用注解注入如下。 - - - -``` -@Component("student") -public class Student { - @Value("张三") - private String name; - @Value("23") - private int age; -} -``` - -注意别忘了该类要加注解@Component注解,因为要创建该类对象。 - - **2.4.2 引用类型的注解di实现** -引用类型的注入使用@Autowired注解完成。 - -还是拿Student类的school属性的赋值来举例。 - - **学生类** - - - -``` -@Component("student") -public class Student { - /*引用类型注入(byType方式) - @Autowired - private School school;*/ - - //引用类型赋值(byName方式) - @Autowired(required = false) - @Qualifier(value = "mySchool") - private School school; -} -``` - - **School类** - - - -``` -@Component("mySchool") -public class School { - - //注入值 - @Value("西南大学") - private String schoolAddress; - @Value("新疆") - private String homeAddress; - - @Override - public String toString() { - return "School{" + - "schoolAddress='" + schoolAddress + '\'' + - ", homeAddress='" + homeAddress + '\'' + - '}'; - } -} -``` - -### 3、AOP - -### 3.1 动态代理 - - **3.1.1 jdk动态代理** -使用jdk中的Proxy,Method,InvocaitonHanderl创建代理对象。 jdk动态代理要求目标类必须实现接口,关于细节本文就不赘述了。 -要求: - - **3.1.2 cglib动态代理** -第三方的工具库,创建代理对象,原理是继承。 通过继承目标类,创建子类。子类就是代理对象。 要求目标类不能是final的,方法也不能是final的 - - **3.1.3 动态代理的好处** - - **3.2 什么是AOP** -面向切面编程, 基于动态代理的,可以使用jdk,cglib两种代理方式。Aop就是动态代理的规范化, 把动态代理的实现步骤,方式都定义好了, 让开发人员用一种统一的方式,使用动态代理实现。 - - **3.2.1 AOP常用术语** - - **3.2.2 切面的构成** -切面就是要给别的方法进行增强的方法,一个切面有以下三个要素。 - -### 3.3 使用aspectJ框架实现AOP - - **3.3.1 aspectJ简介** -aspectJ是一个开源的专门做aop的框架。spring框架中集成了aspectj框架,通过spring就能使用aspectj的功能。aspectJ框架实现aop有两种方式: - - - -``` - - - org.springframework - spring-aspects - 5.2.5.RELEASE - -``` - - **3.3.2 @Before前置通知** -前置通知注解修饰的切面在连接点方法之前执行。下面通过一段代码体验一下。 - - - -``` -public interface IService { - void doSome(String name, int age); -} -``` - - **声明实现类ServiceImpl** - - - -``` -public class ServiceImpl implements IService { - @Override - public void doSome(String name, int age) { - System.out.println("===doSome()==="); - } -} -``` - -声明切面 - - - -``` -@Aspect -public class MyAspectJ { - - /** - * 定义功能增强方法(方法就是切面) - * 1、方法的必须为public - * 2、方法无返回值 - * 3、方法名称自定义 - * 4、方法可以有参数,也可以没有参数 - * 5、方法的定义上方加入注解,表示切入点的执行时机 - - @Before(value = "execution(public void com.mms.ba01.ServiceImpl.doSome(String,int))") - public void beforeLog() { - System.out.println("前置通知->系统当前时间:" + new Date()); - } - */ - - /* - 前置通知,带方法参数的切面 - 切面方法有参数时要求参数是JoinPoint类型,参数名自定义,该参数就代表了连接点方法,即doSome方法 - 使用该参数可以获取切入点表达式、切入点方法签名、目标对象等 - */ - @Before(value = "execution(* *..ServiceImpl.doSome(..))") - public void beforeLog(JoinPoint jp) { - System.out.println("连接点方法的方法签名="+jp.getSignature()); - System.out.println("连接点方法的方法名="+jp.getSignature().getName()); - //获取连接点方法参数 - Object[] args = jp.getArgs(); - for (Object arg : args) { - System.out.println("arg="+arg); - } - } -} -``` - - **测试** - - - -``` -public class MyTest { - //aop前置通知 - @Test - public void test01() { - String config = "ba01/applicationContext.xml"; - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - //获取目标对象,此时的service就是spring生成的代理对象 - //注意返回值类型是接口类型,不能是实现类接口,否则报错 - IService service = (IService) ac.getBean("service"); - //使用代理对象执行方法 - service.doSome("张三",23); - } -} -``` - - **3.3.3 @AfterReturning后置通知** - - - -``` -Student doStudent(Student student); -``` - - - -``` -@Override - public Student doStudent(Student student) { - return student; - } -``` - - **切面类代码** - - - -``` -@Aspect -public class MyAspectJ { - /** - * @AfterReturning: 后置通知,在连接点方法执行之后执行后置通知方法 - * 方法定义格式: - * 1、公共方法 - * 2、没有返回值 - * 3、方法名称自定义 - * 4、与前置通知一样,可以有JoinPoint类型参数,该参数表示连接点方法对象;还可以有一个 - * Object类型参数,用于接收连接点方法的执行结果,注意该参数的参数名必须与切入点表达式 - * 的returning属性的属性值一致,表示将returning属性值赋给Object对象 - */ - /*@AfterReturning(value = "execution(* *..ServiceImpl.doOther(..))", returning = "obj") - public void afterTransaction(JoinPoint jp, Object obj) { - System.out.println("doOther方法的返回参数="+obj); - System.out.println("事务已提交..."); - 经过验证:在后置通知切面内不能改变连接点方法的返回值 - }*/ - - @AfterReturning(value = "execution(* *..ServiceImpl.doStudent(..))", returning = "obj") - public void afterTransaction(JoinPoint jp, Object obj) { - System.out.println(obj); - Student student = new Student(); - student.setName("李四"); - student.setAge(24); - obj = student; - System.out.println("===查看是否改变了连接点方法的返回值==="+obj); - /* - 经过验证:在后置通知切面内不能改变连接点方法的返回值 - */ - } -} -``` - - **3.3.4 @Around环绕通知(功能最强的通知)** -环绕通知是功能最强的通知,它的本质就是jdk动态代理,他可以在连接点方法之前和之后都可以执行,最厉害的是他可以改变连接点方法的执行结果(返回结果)。还是拿上面的doStudent(Student student)方法来说明,经过验证前置通知和后置通知都不能改变doStudent(Student student)方法的返回值。下面看一下环绕通知是如何做的。 - - - -``` -@Aspect -public class MyAspectJ { - - /* - 环绕通知:@Around(切入点表达式) - 1、环绕通知是最重要的一个通知,他表示在连接点方法的前或者后都可以执行,它的本质就是jdk动态代理的invoke - 方法的method参数 - 2、定义格式 - a、public - b、必须有返回值,类型为Object - - */ - @Around(value = "pointCut()") - - /* - 再次回忆一下jdk动态代理的invoke方法的定义 - @Override - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - 是不是感觉与下面的方法定义眼熟啊,没错,环绕通知切面的定义实质上就是jdk动态代理 - */ - public Object around(ProceedingJoinPoint pj) throws Throwable { - System.out.println("环绕通知在连接点方法之前执行了..."); - Object result = null; - result = pj.proceed(); - Student student = new Student(); - student.setName("李四"); - student.setAge(24); - //改变连接点方法返回值 - result = student; - System.out.println("事务已提交..."); - return result; - } - - /* - 使用pointcut管理切面表达式 - 1、在一个切面类中,若多个切面的切面表达式均为同一个,每次都要写重复的代码,此时就可以使用pointcut来 - 管理切面表达式了 - 2、定义格式: - 公共public - 无返回值 - 无参数 - */ - @Pointcut(value = "execution(* *.doStudent(..))") - public void pointCut() { - //空方法体 - } -} -``` - -### 4、整合mybatis - - **4.1 梳理整合思路** -所谓的spring整合mybatis就是把两者集成在一起,就像使用一个框架一样。 - - **mybatis框架开发步骤** - -spring整合mybatis的核心就是把mybatis开发用到的对象交由spring容器ioc来创建,这样就做到了整合的目的。 -在开发中,我们一般不使用mybatis自带的数据源,而是使用别的数据源,比如c3p0,dbcp等,本人使用的是阿里的druid数据源。 - -### 4.2 整合实现 - - **4.2.1 环境搭建** -导入相关依赖: - - - -``` - - - - junit - junit - 4.11 - test - - - - org.springframework - spring-context - 5.2.5.RELEASE - - - org.springframework - spring-jdbc - 5.2.5.RELEASE - - - - org.mybatis - mybatis - 3.5.1 - - - - org.mybatis - mybatis-spring - 1.3.1 - - - - mysql - mysql-connector-java - 5.1.9 - - - - com.alibaba - druid - 1.1.12 - - - - - - - - src/main/java - - **/*.properties - **/*.xml - - false - - - - - - maven-compiler-plugin - 3.1 - - 1.8 - 1.8 - - - - -``` - - - - **4.2.2 案例** - - - -``` -实体类Student -public class Student { - private int stuNo; - private String stuName; - private int cardID; - private int classID; - public Student() { - } - public Student(int stuNo, String stuName, int cardID, int classID) { - this.stuNo = stuNo; - this.stuName = stuName; - this.cardID = cardID; - this.classID = classID; - } - public int getStuNo() { - return stuNo; - } - public void setStuNo(int stuNo) { - this.stuNo = stuNo; - } - public String getStuName() { - return stuName; - } - public void setStuName(String stuName) { - this.stuName = stuName; - } - public int getCardID() { - return cardID; - } - public void setCardID(int cardID) { - this.cardID = cardID; - } - public int getClassID() { - return classID; - } - public void setClassID(int classID) { - this.classID = classID; - } - @Override - public String toString() { - return "Student{" + - "stuNo=" + stuNo + - ", stuName='" + stuName + '\'' + - ", cardID=" + cardID + - ", classID=" + classID + - '}'; - } -} -``` - - - -``` -public interface StudentMapper { - //查询全部 - List queryAll(); - //新增学生 - void addStudent(Student student); -} -``` - - - -``` - - - - - - - - - - insert into student (stuno,stuname,cardid,classid) - values (#{stuNo},#{stuName},#{cardID},#{classID}) - - -``` - - **service接口** - - - -``` -public interface IStudentService { - List queryAll(); - void addStudent(Student student); -} -``` - - **service实现类** - - - -``` -public class StudentServiceImpl implements IStudentService { - //mapper属性 - private StudentMapper mapper; - //set注入给mapper对象赋值 - public void setMapper(StudentMapper mapper) { - this.mapper = mapper; - } - - @Override - public List queryAll() { - return mapper.queryAll(); - } - - @Override - public void addStudent(Student student) { - mapper.addStudent(student); - } -} -``` - - **mybatis核心配置文件** - - - -``` - - - - - - - - - - - - -``` - -在这里由于数据源对象我们是交由spring容器托管了,因此mybatsi核心配置文件中就没有environments标签了。 - - - -``` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - - **数据库配置文件** - - - -``` -url = jdbc:mysql://localhost:3306/Xxx?characterEncoding=utf8&useSSL=true&serverTimezone=UTC -username = Xxx -password = Xxx -``` - - **测试** - - - -``` -//执行查询全部,不使用service - @Test - public void test02() { - String config = "applicationContext.xml"; - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - //获取mapper的代理对象 - StudentMapper mapper = (StudentMapper) ac.getBean("studentMapper"); - List students = mapper.queryAll(); - for (Student student : students) { - System.out.println("student--->"+student); - } - } - - //执行增加学生,使用service - @Test - public void test03() { - String config = "applicationContext.xml"; - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - //获取service对象 - IStudentService service = (IStudentService) ac.getBean("studentServiceImpl"); - Student student = new Student(); - student.setStuName("呵呵"); - student.setStuNo(1111); - student.setCardID(1115); - student.setClassID(1); - service.addStudent(student); - - } -``` - -### 5、处理事务 - - **5.1 什么是事务** -事务是指一组sql语句的集合, 集合中有多条sql语句可能是insert , update ,select ,delete, 我们希望这些多个sql语句都能成功,或者都失败, 这些sql语句的执行是一致的,作为一个整体执行。关于事务最经典的例子就是转账了。 - - **5.2 使用spring内部注解处理事务** - **5.2.1 环境搭建** - - - - -``` - - org.springframework - spring-tx - 5.2.5.RELEASE - -``` - -案例:数据库有两张表,一张sale表,该表是商品订单信息;一张goods表,该表是商品库存信息。service类有一个业务方法buy,该方法指定要购买商品的id和数量,dao有三个方法分别是像sale表增加一条购买记录、更新goods表的库存信息、在goods表查询指定id商品是否存在。 -下面是两张表的记录信息 - - **sale表(初始是空表,因为还没有购买记录),id字段自增长** - - - - - - - - - - - - - - **goods表** - - - - - - - - - - - - - -业务流程大致是这样,用户向buy方法传递两个参数,分别是goods表的id字段和购买数量nums。buy方法体中的第一个方法是向sale表增加一条记录,类似与buy(1002,20),那么sale表应该多出来一条如下记录 - - - - - - - - - - - - -因为sale表id字段是自增长的,所以自动为1。 - - **先看一下buy方法的定义** - - - -``` -public void buy(Integer goodsId, Integer nums) { - //sale表新增购买记录 - //更新库存 - //先查询该编号的商品是否存在 - Goods goods = goodsMapper.queryGoods(goodsId); - //进行判断 - if (goods == null) { - //说明商品不存在 - } else if (goods.getAmount() < nums) { - //说明库存不足 - } - //能够进行到这里说明商品信息是合法的,可以更新库存 - } -``` - -首先根据用户传入的参数id和nums向sale表新增一条购买记录。即有商品卖出去了,那么我们理应更新一下库存对吧,不然怎么知道还有多少货,万一别人要买100件商品而你只有50件肯定会导致别人购买失败对吧。那么问题就就来了,当我们执行完向sale表新增记录后,就该更新库存了,我们必须要知道刚卖出去的商品是谁对吧,这个通过用户传入的id和商品表goods的id字段一一对应,所以先去数据库查询用户传入的id是否存在goods表中,若不存在应该将事务回滚,即前面向sale表增加的记录是不应该存在的;同理,若用户传入的id商品在goods表中,但是用户要求的数量大于该商品当前库存,事务也应该回滚;只有当用户传入的id商品和数量都满足条件时我们才应该更新库存并且提交事务。 -该介绍的都介绍完了,开始着手干吧。 - - **实体类** - - - -``` -public class Goods { - private Integer id; - private String name; - private Integer amount; - private Float price; - public Goods() { - } - public Goods(Integer id, String name, Integer amount, Float price) { - this.id = id; - this.name = name; - this.amount = amount; - this.price = price; - } - public Integer getId() { - return id; - } - public void setId(Integer id) { - this.id = id; - } - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public Integer getAmount() { - return amount; - } - public void setAmount(Integer amount) { - this.amount = amount; - } - public Float getPrice() { - return price; - } - public void setPrice(Float price) { - this.price = price; - } - @Override - public String toString() { - return "Goods{" + - "id=" + id + - ", name='" + name + '\'' + - ", amount=" + amount + - ", price=" + price + - '}'; - } -} -public class Sale { - private Integer id; - private Integer gid; - private Integer nums; - public Sale() { - } - public Sale(Integer id, Integer gid, Integer nums) { - this.id = id; - this.gid = gid; - this.nums = nums; - } - public Integer getId() { - return id; - } - public void setId(Integer id) { - this.id = id; - } - public Integer getGid() { - return gid; - } - public void setGid(Integer gid) { - this.gid = gid; - } - public Integer getNums() { - return nums; - } - public void setNums(Integer nums) { - this.nums = nums; - } - @Override - public String toString() { - return "Sale{" + - "id=" + id + - ", gid=" + gid + - ", nums=" + nums + - '}'; - } -} -``` - - **mapper接口** - - - -``` -public interface GoodsMapper { - /** - * 更新库存 - * goods表示本次用户购买的商品信息 - * @param goods - */ - void updateGoods(Goods goods); - - //查询商品信息 - Goods queryGoods(Integer id); -} -public interface SaleMapper { - //增加销售记录 - void addSale(Sale sale); -} -``` - - **mapper.xml映射文件** - - - -``` - - - - update goods set amount = amount - #{amount} where id = #{id} - - - - - - - - insert into sale (gid,nums) values (#{gid},#{nums}) - - -``` - - **service接口** - - - -``` -public interface IBuyGoodsService { - //购买商品的方法,goodsId是购买商品的编号,nums是购买商品的数量 - void buy(Integer goodsId,Integer nums); -} -``` - - **service实现类** - - - -``` -public class BuyGoodsServiceImpl implements IBuyGoodsService { - - private SaleMapper saleMapper; - private GoodsMapper goodsMapper; - //set注入赋值 - public void setSaleMapper(SaleMapper saleMapper) { - this.saleMapper = saleMapper; - } - - public void setGoodsMapper(GoodsMapper goodsMapper) { - this.goodsMapper = goodsMapper; - } - - - /** - * 购买商品方法 - * goodsId表示要购买的商品编号,nums表示购买的数量 - * @param goodsId - * @param nums - */ - - /* - 1、@Transactional定义在需要加入事务处理的方法上面 - 2、rollbackFor - 1)当方法发生的异常属于rollbackFor,事务就会回滚 - 2)当方法发生的异常不属于rollbackFor,spring就会判断发生的异常是不是运行时异常, - 若是运行时异常,事务就会回滚 - - @Transactional( - propagation = Propagation.REQUIRED, - isolation = Isolation.DEFAULT, - readOnly = false, - rollbackFor = { - NullPointerException.class, - NotEnoughException.class - } - - )*/ - - //开发中推荐使用默认值,直接使用@Transactional注解 - @Transactional - @Override - public void buy(Integer goodsId, Integer nums) { - System.out.println("buy开始..."); - - /* - 记录销售的信息,向sale表添加记录,由于sale表id是自增长的,所以不需要设置id属性 - 向sale表添加一条购买记录 - */ - Sale sale = new Sale(); - sale.setGid(goodsId); - sale.setNums(nums); - saleMapper.addSale(sale); - - //更新库存 - //先查询该编号的商品是否存在 - Goods goods = goodsMapper.queryGoods(goodsId); - //进行判断 - if (goods == null) { - //说明商品不存在 - throw new NullPointerException("编号为:"+goodsId+"商品不存在..."); - } else if (goods.getAmount() < nums) { - //说明库存不足 - throw new NotEnoughException("编号为:"+goodsId+"商品库存不足..."); - } - - //能够进行到这里说明商品信息是合法的,可以更新库存 - Goods good = new Goods(); - good.setId(goodsId); - good.setAmount(nums); - goodsMapper.updateGoods(good); - - System.out.println("buy结束..."); - } -} -``` - - - -``` - - - - - - - - -``` - - **测试类** - - - -``` -//不使用事务测试 - @Test - public void test01() { - String config = "applicationContext.xml"; - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - //获取service对象 - IBuyGoodsService service = (IBuyGoodsService) ac.getBean("buyGoodsService"); - - //商品编号不存在情况 - //java.lang.NullPointerException: 编号为:1003商品不存在... - //service.buy(1003,50); - //商品库存不足情况 - //com.mms.exception.NotEnoughException: 编号为:1002商品库存不足... - //service.buy(1002,100); - //正常情况 - service.buy(1002,10); - } -``` - - **5.3 使用aspectj框架处理事务** -aspectJ处理事务是基于配置文件形式的,别的地方都和上面一样,只需要更改service实现类的buy方法和spring核心配置文件即可。 - - - -``` - - - - - - - - - - - - - - - - - - - - -``` - - **测试类与前面的一样。** - -### 6、开发web项目 - - **环境搭建** - - - - - - - - -``` - - - javax.servlet - javax.servlet-api - 3.1.0 - provided - - - - javax.servlet.jsp - jsp-api - 2.2.1-b03 - provided - -``` - - - - - - -案例 -还是采用整合mybatis那个案例,这次给用户提供一个表单,用户填写用户信息,将数据存入student表中。 - - - -``` -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - 注册页 - - -

欢迎注册

-
- - <%-- - 表格由table标签开始,tr表示行数,td表示列数 - 例如本例就是一个5行两列的表格 - --%> - - - - - - - - - - - - - - - - - - - - -
学号
姓名
学生证
班级
-
- - -``` - - - - - - - - -``` -public class MySpringServlet extends HttpServlet { - - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - this.doPost(request,response); - } - - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - //设置编码 - request.setCharacterEncoding("UTF-8"); - //接收参数 - int stuNo = Integer.parseInt(request.getParameter("stuno")); - String stuName = request.getParameter("stuname"); - int cardId = Integer.parseInt(request.getParameter("cardid")); - int classId = Integer.parseInt(request.getParameter("classid")); - - /*实例化ioc容器 - String config = "applicationContext.xml"; - ApplicationContext ac = new ClassPathXmlApplicationContext(config); - System.out.println("ioc容器--->"+ac); - */ - - //使用监听器怎么获取容器对象 - WebApplicationContext ac = null; - //获取servlet上下文对象 - ServletContext servletContext = getServletContext(); - //使用sprng工具类获取ioc容器对象 - ac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); - System.out.println("ioc容器--->"+ac); - //获取service对象 - IStudentService service = (IStudentService) ac.getBean("studentServiceImpl"); - Student student = new Student(); - student.setStuNo(stuNo); - student.setStuName(stuName); - student.setCardID(cardId); - student.setClassID(classId); - service.addStudent(student); - - request.getRequestDispatcher("result.jsp").forward(request,response); - } -} -``` - - - -``` - - - - - contextConfigLocation - classpath:applicationContext.xml - - - org.springframework.web.context.ContextLoaderListener - -``` - -## 总结: - -希望大家共同进步,有兴趣的可以互相加个关注。 - -
- -[https://zhuanlan.zhihu.com/p/499075895](https://zhuanlan.zhihu.com/p/499075895)
- - - diff --git a/article/2022-04-19_01_46_几何约束_/0.jpg b/article/2022-04-19_01_46_几何约束_/0.jpg deleted file mode 100644 index d8fdcc3..0000000 Binary files a/article/2022-04-19_01_46_几何约束_/0.jpg and /dev/null differ diff --git a/article/2022-04-19_01_46_几何约束_/1.jpg b/article/2022-04-19_01_46_几何约束_/1.jpg deleted file mode 100644 index ecba773..0000000 Binary files a/article/2022-04-19_01_46_几何约束_/1.jpg and /dev/null differ diff --git a/article/2022-04-19_01_46_几何约束_/2.jpg b/article/2022-04-19_01_46_几何约束_/2.jpg deleted file mode 100644 index 2461f3d..0000000 Binary files a/article/2022-04-19_01_46_几何约束_/2.jpg and /dev/null differ diff --git a/article/2022-04-19_01_46_几何约束_/2022-04-19_01_46.txt b/article/2022-04-19_01_46_几何约束_/2022-04-19_01_46.txt deleted file mode 100644 index ed652d1..0000000 --- a/article/2022-04-19_01_46_几何约束_/2022-04-19_01_46.txt +++ /dev/null @@ -1,2 +0,0 @@ -2022-04-19_01_46 -https://zhuanlan.zhihu.com/p/500893071 \ No newline at end of file diff --git a/article/2022-04-19_01_46_几何约束_/几何约束.pdf b/article/2022-04-19_01_46_几何约束_/几何约束.pdf deleted file mode 100644 index 84b5449..0000000 Binary files a/article/2022-04-19_01_46_几何约束_/几何约束.pdf and /dev/null differ diff --git a/article/2022-04-19_01_46_几何约束_/几何约束_formula_.md b/article/2022-04-19_01_46_几何约束_/几何约束_formula_.md deleted file mode 100644 index 7651463..0000000 --- a/article/2022-04-19_01_46_几何约束_/几何约束_formula_.md +++ /dev/null @@ -1,94 +0,0 @@ -# Geometric constraint solving - -[转载自](https://zhuanlan.zhihu.com/p/500893071) - -## Geometric constraint - -最近偶然听到一个名词 ‘geometric constraint‘,顾名思义就是几何约束,查了一下, geometric constraints, aka relationships between sketch entities. - -其实就是 CAD 作图的时候,我们会有一些关系,就像下面这样: - - - - - - - - - -这些关系就叫 geometric constraints,合理。 - -那么对应 geometric constraints, 还有 numeric constraints,geometric constraints 是这些线之间的关系,numeric constraints 就是用来比如记录线的长度,一些绝对数值。 - -那么一些常见的 geometric constraints 比如: - -又因为这些这些 constraints 可能在 CAD 中太常见了,所以再 80 年代有很多相关的研究,然后 Geometric constraints solver 也是 CAD 系统的一部分。 - -## Solver - -要一堆 线、圆弧、圆 满足特定的 geometric constraints,有许多不同的尝试,这里简单介绍一下各种。 - -### symbolic approach - -这是把这一堆要求转化为多项式方程,然后来解方程组,比如很简单,如果我要求圆与线相切: - - -$ax + by + c = 0 \\$ $(x-x_0)^2+(y-y_0)^2 = r^2\\$ - -再加上一些杂七杂八的条件我们既可以来解方程,但这种 approach 的问题在于: 一旦我的 sketch entity 变多,那么方程变得很多,解起来会很慢。 - -### graph analysis approach - -这种方式是把 geometric constraint problem 变成一个 graph problem,然后通过分析图来分析这些东西应该在哪里。 - - - - - - - - - -上面是相关 paper 中举出的一个例子,比如图中的 A 、 E 通过距离 e 联系起来,别的 vertice 和 edge 也是类似的。 - -而解法就是: - -### propagation approach - -我粗略的感觉这个 approach 跟上面的有点类似,只是上面的我们是用 graph 来表示,这里我们可以用更多的 relationship 和 hierarchy,比如我有一组东西是 parallel,当我改变其中一个东西的位置的时候,整组都改变, 并且可能更大的包含这一组的结构也跟着改变,这就是所谓的 propagation 吧。 - -### numerical approach - -最后一个其实也是跟 symbolic approach 类似,也是我们有一大堆方程,但是我们并不是去精确的解这些方程,而是用迭代(优化)的方式来解决这个问题。很简单,使用 numerical approach 的有点有几,让我们先列出方程式吧: - - -$f_1(x_1, \cdots, x_n) = 0\\$ $f_2(x_1, \cdots, x_n) = 0\\$ - - -$\cdots \\f_m(x_1, \cdots, x_n) = 0\\$ - -一写出来方程式我们就知道使用数值方法的优势了,首先: - - -$\delta(X) = \sum_{i=1}^m f_i(X)^2 \\$ - -优化是我们的好朋友,这样接下来的事情就是选择我们喜欢的 optimizer 来解决问题。 - -Boom! 一个有趣又 nice 的例子: - - - - - - - - - -参考: - -
- -[https://zhuanlan.zhihu.com/p/500893071](https://zhuanlan.zhihu.com/p/500893071)
- - - diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/0.jpg b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/0.jpg deleted file mode 100644 index ae5aee4..0000000 Binary files a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/0.jpg and /dev/null differ diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/1.jpg b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/1.jpg deleted file mode 100644 index 469375d..0000000 Binary files a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/1.jpg and /dev/null differ diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/2.jpg b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/2.jpg deleted file mode 100644 index 80c5240..0000000 Binary files a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/2.jpg and /dev/null differ diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/2022-04-25_11_08.txt b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/2022-04-25_11_08.txt deleted file mode 100644 index ce6565b..0000000 --- a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/2022-04-25_11_08.txt +++ /dev/null @@ -1,2 +0,0 @@ -2022-04-25_11_08 -https://zhuanlan.zhihu.com/p/92905007 \ No newline at end of file diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/3.jpg b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/3.jpg deleted file mode 100644 index 7aac516..0000000 Binary files a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/3.jpg and /dev/null differ diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/4.jpg b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/4.jpg deleted file mode 100644 index 1079595..0000000 Binary files a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/4.jpg and /dev/null differ diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/5.jpg b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/5.jpg deleted file mode 100644 index d771c2f..0000000 Binary files a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/5.jpg and /dev/null differ diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/6.jpg b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/6.jpg deleted file mode 100644 index 90e885c..0000000 Binary files a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/6.jpg and /dev/null differ diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/使用MATLAB工具箱来玩FMCW毫米波雷达仿真.pdf b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/使用MATLAB工具箱来玩FMCW毫米波雷达仿真.pdf deleted file mode 100644 index 5e9ce86..0000000 Binary files a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/使用MATLAB工具箱来玩FMCW毫米波雷达仿真.pdf and /dev/null differ diff --git a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/使用MATLAB工具箱来玩FMCW毫米波雷达仿真_formula_.md b/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/使用MATLAB工具箱来玩FMCW毫米波雷达仿真_formula_.md deleted file mode 100644 index fb24f7b..0000000 --- a/article/2022-04-25_11_08_使用MATLAB工具箱来玩FMCW毫米波雷达仿真_/使用MATLAB工具箱来玩FMCW毫米波雷达仿真_formula_.md +++ /dev/null @@ -1,408 +0,0 @@ -# 使用MATLAB工具箱来玩FMCW毫米波雷达仿真 - -[转载自](https://zhuanlan.zhihu.com/p/92905007) - -这篇文章的前提条件是在大家已经清楚整个 **雷达仿真的基本原理** 并且能自己 **熟练的根据公式写出雷达信号仿真的距离** 和 **相位变化信息** 。如果这里概念不清楚,请看这 - -[雷达信号仿真的基本原理——时延与相位的变化293 赞同 · 75 评论文章](https://zhuanlan.zhihu.com/p/100595803) - -如果你能够熟练的完成上述要求,那么今天我们要使用的MATLAB工具箱,用来大幅度的节省你的时间和精力,提高仿真效率。 - -说实话这篇文章实际上是我偷懒了,主要是MATLAB的帮助文档的部分,原教程在 - -[https://www.mathworks.com/help/phased/examples/automotive-adaptive-cruise-control-using-fmcw-technology.html​www.mathworks.com/help/phased/examples/automotive-adaptive-cruise-control-using-fmcw-technology.html](https://www.mathworks.com/help/phased/examples/automotive-adaptive-cruise-control-using-fmcw-technology.html) - -或者在matlab的F1帮助文档里搜索 - - **Automotive Adaptive Cruise Control Using FMCW Technology** - -这篇文章实际上就是翻译+个人的一些理解,但是在写的过程中发现自己在一些地方上可以扩展,加点私货。所以从这篇文章作为开始,看看哪里可以进行补充说明,寻找一下文章的灵感。废话不多,今天我们来学习如何用MATLAB的相控阵工具箱进行雷达信号回波仿真。 - -毫米波雷达目前是比较热门的领域,我们就按照77GHz调频连续波雷达作为我们仿真的建模参考(其实是因为文档里给的就是77GHz,我懒得改参数,参数变了大家也会算) - - - - **波形设计** - -在汽车系统中采用调频连续波模式(FMCW)进行目标探测,其测距的原理如图所示 - - - -接收到的信号是发射信号的延迟,延迟的时间与目标的距离相关。由于发射的是扫频信号,因此在任意时刻,接收到的回波信号与发射信号的频率差必然是一个常数,这个信号我们称为拍频。我们可以从拍频中得到频率信息,再将频率转化为时间延迟,由时间延迟得到目标距离。 - -车载雷达采用77G载频,假设最大探测距离是200m,对于FMCW雷达系统,接收信号的时间至少应该是往返时间的5到6倍,采用5.5倍采样时间进行仿真 - - - -``` -fc = 77e9; -c = 3e8; -lambda = c/fc; -range_max = 200; -tm = 5.5*range2time(range_max,c); -``` - -range2time函数是matlab工具箱提供的函数,就是t = 2R/c,即电磁波往返探测距离需要飞行的时间,根据我们的要求设置5.5倍进行仿真,即我们需要设置接收信号的时间 - - - -``` -tm =5.5*range2time(range_max,c); -``` - -扫频带宽实际上由距离分辨率决定,雷达的距离分辨率是 $\Delta R=c/2B$ ,我们设计距离分辨率为1m,根据公式计算扫频带宽应该为150Mhz,即bw=1e6 - - - -``` -range_res = 1; -bw = range2bw(range_res,c); -sweep_slope = bw/tm; -``` - -range2bw即距离分辨率的计算公式,由于我们知道了距离分辨率得到了扫频带宽,同时也知道了采样时间tm,我们就知道了扫频信号的斜率 sweep_slope - -FMCW的发射波形具有非常大的带宽,如果单纯的根据奈奎斯特采样定理,那我们的AD器件的性能要求实在是太高了,这不是扯淡嘛!开玩笑这器件要多贵?为了解决这个问题,我们采集到的信号实际上是拍频信号,这样子我们就可以选择较低的采样率,那么采样率选择什么的样的参数合适呢?实际上我们需要考虑: - -1.复杂情况下采样率可以设置的与带宽相同 - -2.FMCW的距离估计实际上是拍频信号,因此我们只需要知道最大距离下的 **拍频** 和 **最大多普勒频率** 的和的两倍(奈奎斯特采样定理)即可 - -我们来计算一下最大探测距离下的拍频是: - - - -``` -fr_max = range2beat(range_max,sweep_slope,c); -``` - -在汽车领域,一般按照120km/h为最大速度,在高速路上,迎面的2辆车具有的相对速度为240km/h,我们按照230km/h计算最大多普勒,那么最大频率差为 - - - -``` -v_max = 230*1000/3600; -fd_max = speed2dop(2*v_max,lambda); - -fb_max = fr_max+fd_max; -``` - -我们仍然按照上述2条要求设计采样速率,那么采样速率应该选择: - - - -``` -fs = max(2*fb_max,bw); -``` - -根据上述要求,我们来看一下雷达指标如下: - - - -``` -System parameters Value ----------------------------------- -Operating frequency (GHz) 77 -Maximum target range (m) 200 -Range resolution (m) 1 -Maximum target speed (km/h) 230 -Sweep time (microseconds) 7.33 -Sweep bandwidth (MHz) 150 -Maximum beat frequency (MHz) 27.30 -Sample rate (MHz) 150 -``` - -指标确定后,我们可以开始设计雷达的参数了,第一个就是发射波形 - - - -``` -waveform = phased.FMCWWaveform('SweepTime',tm,'SweepBandwidth',bw,... - 'SampleRate',fs); -``` - -调用matlab的相控阵工具箱中的线性调频连续波模块,扫频时间为tm,扫描带宽为bw,按照fs的采样速率生成原始发射波形。 - -我们来看一下波形的时频分析图 - - - -``` -sig = waveform(); -subplot(221); -plot(0:1/fs:tm-1/fs,real(sig)); -xlabel('时间(s)'); ylabel('实部幅度(v)'); -title('FMCW 实部信号'); axis tight;grid on -subplot(222); -plot(0:1/fs:tm-1/fs,imag(sig)); -xlabel('时间(s)'); ylabel('虚部幅度(v)'); -title('FMCW 虚部信号'); axis tight;grid on -subplot(223) -sp.p3(sig);grid on;axis tight; -subplot(224); -spectrogram(sig,32,16,32,fs,'yaxis'); -title('FMCW 信号时频分析'); -``` - - - -我们可以看到发射信号的实部和虚部图分别是↖和↗,这样的图其实不好理解,不如把信号画成三维图来看↙。可以发现这个信号实际上是绕着复平面在旋转,像弹簧一样的结构,并且这个旋转的转速是线性变化,再看↘时频分析图,我们发现信号的频率是随着时间呈现一条直线,并且信号的带宽是150Mhz,时间就是我们设计的tm。 - -在这里我要说明一下为什么这里150Mhz带宽的信号用150Mhz采样率生成为什么不混叠?奈奎斯特采样定理不是要求至少2倍吗?实际上这里仍然符合奈奎斯特采样定律,细心的同学会发现在如果我们采集的是实信号,信号带宽如果是150Mhz,我们需要用300Mhz才可以正确表达,但是这里是复信号,一个采样点是2个数据,一个实部和一个虚部,所以实际上还是满足奈奎斯特采样定理,虽然用150Mhz采样,但是我们采集到的数据和300Mhz的总点数一样,大家如果对这里感兴趣可以研究下复信号与实信号的傅里叶变换,你们会发现实信号只有0~fs/2,而复信号是0~fs。关于这部分内容我打算在后续开坑。 - -我们继续往下走,波形设计好后我们就需要对整个雷达系统建模了 - - **目标建模** - -我们假设在雷达目标前x轴上有个车辆距离雷达43m,并且以96km/h的速度运行在雷达x轴方向上沿着x轴正向行驶,目标的RCS根据论文 - -Karnfelt, C. et al.., IEEE International Conferences on Intelligent Transport Systems Telecommunications (ITST), 2009. - - - -``` -%----------------------------------------------------------------------- -% 目标的x轴距离,目标的速度km/h转换成m/s,以及目标的rcs -%----------------------------------------------------------------------- -car_dist = 43; -car_speed = 96*1000/3600; -car_rcs = db2pow(min(10*log10(car_dist)+5,20)); - -%----------------------------------------------------------------------- -% 目标的RCS建模,生成一个传递函数cartarget来表示输入信号的响应 -%----------------------------------------------------------------------- -cartarget = phased.RadarTarget('MeanRCS',car_rcs,'PropagationSpeed',c,... - 'OperatingFrequency',fc); -%----------------------------------------------------------------------- -% 车辆的运动建模,生成一个函数carmotion来表示目标的运动方式 -% 雷达系统中目标的运动是按照"停跳假设"设计的,雷达停跳假设认为 -% 在每次发射接收期间,目标和雷达就是完全静止了,当整个过程完成 -% 后,雷达和目标运动瞬间完成,即运动距离是V*PRT -%----------------------------------------------------------------------- -carmotion = phased.Platform('InitialPosition',[car_dist;0;0.5],... - 'Velocity',[car_speed;0;0]); -``` - -cardist是目标的绝对距离,car_speed是目标的速度,rcs由论文公式提供,那么后面这里大家可能会头大了,这个phased.RadarTarget 还有这个 phased.Platform是啥东西? - -phased.RadarTarget实际上是根据要求的特性生成一个系统函数,只要传入输入信号,他会返回一个输出响应。 - -而phased.Platform这里是按照停跳假设仿真目标运动状态,在这里是按照列向量来表示目标的空间坐标,目标的空间速度也是一个列向量,即 - - -$\left[\begin{array}{ccc}x \\y\\z \end{array} \right] =\left[\begin{array}{ccc}x \\y\\z \end{array} \right] +\left[\begin{array}{ccc}V_x \\V_y\\V_z \end{array} \right]\times PRT$ - -式中列向量[x y z]'是空间中的绝对位置,用三个坐标表示,[Vx Vy Vz]'是目标的矢量速度,那么每一次PRT时间目标在空间中的位置移动就满足这样的一个迭代关系。看懂了这里大家就明白了为什么参数'InitialPosition',设置[car_dist;0;0.5]就是[x y z]'目标的初始距离,而参数'Velocity'设置的是[car_speed;0;0]对应的就是[Vx Vy Vz]'。 - -目标建模完了进行传输信道建模,雷达的电磁波传输的是自由空间,因此同样,采用相控阵工具箱建模如下 - - - -``` -%----------------------------------------------------------------------- -% 传输信道建模,仍然是系统函数H(s)的理解方式,设置响应的参数,得到 -% 系统函数 -%----------------------------------------------------------------------- -channel = phased.FreeSpace('PropagationSpeed',c,... - 'OperatingFrequency',fc,'SampleRate',fs,'TwoWayPropagation',true); -``` - -这里有个参数是"TwoWayPropagation"设置的true,表示电磁波发射是一来一回 - -下来就是雷达系统的参数设计了 - - **雷达系统建模** - -雷达系统包括了发射机,接收机,天线主要部分,建模时忽略了其他组件(如耦合器和混频器等)影响,我们假设天线是各向同性。设置以下参数 - - - -``` -%----------------------------------------------------------------------- -% 天线孔径 -%----------------------------------------------------------------------- -ant_aperture = 6.06e-4; %单位m^2 - -%----------------------------------------------------------------------- -% 天线增益 -%----------------------------------------------------------------------- -ant_gain = aperture2gain(ant_aperture,lambda); %单位dB - -%----------------------------------------------------------------------- -% 发射峰值功率,发射增益 -%----------------------------------------------------------------------- -tx_ppower = db2pow(5)*1e-3; %单位W -tx_gain = 9+ant_gain; %单位dB - -%----------------------------------------------------------------------- -% 发射机的传递函数 -%----------------------------------------------------------------------- -transmitter = phased.Transmitter('PeakPower',tx_ppower,'Gain',tx_gain); - -%----------------------------------------------------------------------- -% 接收增益,接收机噪声系数nf -%----------------------------------------------------------------------- -rx_gain = 15+ant_gain; %单位dB -rx_nf = 4.5; %单位dB - -%----------------------------------------------------------------------- -% 接收机的传递函数 -%----------------------------------------------------------------------- -receiver = phased.ReceiverPreamp('Gain',rx_gain,'NoiseFigure',rx_nf,... - 'SampleRate',fs); -``` - -如上,我们根据雷达的系统参数就设置好了各个模块的传递函数了。 - - **雷达运动状态建模** - -汽车雷达大部分处于运动状态,我们假设雷达按照100km/h的运动速度移动,则相对目标实际上是4km/h的相对速度接近雷达,设置如下参数: - - - -``` -radar_speed = 100*1000/3600; -radarmotion = phased.Platform('InitialPosition',[0;0;0.5],... - 'Velocity',[radar_speed;0;0]); -``` - -雷达的运动方式同前面一样,仍然采用函数phased.Platform进行位置矢量和速度矢量的初始化,同前面目标的建模方式一样,这里就不在赘述了 - - **雷达信号仿真** - -FMCW雷达是通过检测回波信号的拍频来测量距离,混合后的信号只包含了与目标距离对应的单一点频的频率分量。 - -而多普勒信息是从多次回波信号的频率分量提取的,雷达的工作模式是这样子: - -波形发生器产生FMCW信号->发射机放大->天线发射->自由空间传播->目标反射->自由空间传播->接收信号->存储缓冲 - -当缓冲足够的回波信号后,在距离维(单一脉冲提取点频)和速度维(脉冲之间提取多普勒频率)上进行傅里叶变换,来提取拍频和多普勒频率,利用这些信息来估计目标的距离和速度。 - -下来我们来模拟整个过程,前面我们构造的系统函数也要在这里使用,假设雷达发射了64次,我们写一个循环,如下所示,并且我会在注释中详细说明各个步骤 - - - -``` -%----------------------------------------------------------------------- -% 雷达发射64次 -%----------------------------------------------------------------------- -Nsweep = 64; -%----------------------------------------------------------------------- -% xr表示接收信号缓冲区,回波信号按照列向量缓冲进来,总共缓冲64列 -%----------------------------------------------------------------------- -xr = complex(zeros(waveform.SampleRate*waveform.SweepTime,Nsweep)); -for m = 1:Nsweep - %------------------------------------------------------------------- - % radarmotion即前文描述的雷达位置信息按照 - % [X Y Z]'=[X Y Z]'+[Vx Vy Vz]'*PRT 进行更新,这个函数只需要传递 - % PRT既可更新每次PRT下的运动位置,输出 - % 雷达位置radar_pos,雷达速度radar_vel - %------------------------------------------------------------------- - [radar_pos,radar_vel] = radarmotion(waveform.SweepTime); - - %------------------------------------------------------------------- - % carmotion同上,按照PRT时间更新位置矢量输出 - % 目标位置tgt_pos,目标速度tgt_vel - %------------------------------------------------------------------- - [tgt_pos,tgt_vel] = carmotion(waveform.SweepTime); - - %------------------------------------------------------------------- - % 产生发射波形sig - %------------------------------------------------------------------- - sig = waveform(); - - %------------------------------------------------------------------- - % 发射波形过发射机传递函数transmitter,得到响应txsig - %------------------------------------------------------------------- - txsig = transmitter(sig); - - %------------------------------------------------------------------- - % txsig经过两次自由空间传播的传递函数channel,得到txsig - % 这就是为什么"TwoWayPropagation"设置的true,如果是false就要写2次 - % 注意到这个函数里面包括了雷达的距离、速度,目标的距离、速度 - % 说明回波信号的延迟和多普勒信息是通过这个传递函数加上的,也是 - % 我们后续关注的重点地方 - %------------------------------------------------------------------- - txsig = channel(txsig,radar_pos,tgt_pos,radar_vel,tgt_vel); - - %------------------------------------------------------------------- - % txsig经过目标rcs的传递函数cartarget得到响应txsig - %------------------------------------------------------------------- - txsig = cartarget(txsig); - - %------------------------------------------------------------------- - % txsig经过接收机receiver的传递函数得到响应txsig - %------------------------------------------------------------------- - txsig = receiver(txsig); - %------------------------------------------------------------------- - % txsig经过混频器dechirp得到输出信号dechirpsig - %------------------------------------------------------------------- - dechirpsig = dechirp(txsig,sig); - - %------------------------------------------------------------------- - % 缓冲接收回波 - %------------------------------------------------------------------- - xr(:,m) = dechirpsig; - - %------------------------------------------------------------------- - % 可视化部分 - %------------------------------------------------------------------- - subplot(221) - plot(radar_pos(1),radar_pos(2),'x');grid on;title('雷达') - axis([-0.02 0.02 -1 1]) - subplot(223) - plot(tgt_pos(1),tgt_pos(2),'ro');grid on;title('目标') - axis([42.98 43.02 -1 1]) - subplot(2,2,[2 4]) - sp.p3(dechirpsig);title('回波可视化') - drawnow() - -end -``` - -我们设计的雷达是100km/h,目标是96km/h,相对速度是4km/h,来看看回波是如何运动的 - - - -图中↖位置是64次发射雷达在x轴向的位置移动,↙位置是64次发射目标在x轴的位置移动 - -→图就是我们采集到的回波信号,我非常喜欢用三维实部虚部来看信号,这样子理解非常直观,大家可以看到信号是在旋转的! - -那么这次我们修改下参数,设置目标的运动速度是110km/h,这样子相对速度是-10km/h,再来看下回波信号 - - - -有没有发现相对速度的正负号变了,回波信号的旋转方向变了? - -再改一下,这一次我们设计目标完全静止0km/h,雷达是100km/h保持不变,看看回波信号是什么样子 - - - -发现旋转速度变快了,说明目标的速度信息和回波信号的旋转速度有关,那么我们再看看距离信息,设置目标距离为15m静止,回波信号如图 - - - -这次我们发现回波信号的旋转速度保持不变,但是回波这个“弹簧”间距变大了,这说明回波信号的频率降低了,到此我们可以总结出 - - **FMCW雷达回波信号的特点** : - -1.目标的距离信息与回波信号的频率呈现线性关系。随着目标距离的增大,回波信号的频率逐渐提高,也就是说这个“弹簧”的间距越来越小 - -2.目标的速度信息与回波信号的旋转速度呈现线性关系。目标的速度越快,回波信号的旋转速度越快,目标相对速度正负号变化,回波信号的旋转方向变化 - -这篇文章主要是教会大家如何使用matlab工具箱进行雷达信号仿真。文章中并没有包含了信号处理部分,关于这部分内容我会另外开个坑。还有一些细节部分也没有详细展开,有时间的话我会继续在后续的文章中进行讲解。 - -最后写这个的目的一个是分享,另外一个是希望能与各位大佬交流学习! - -文中的画图部分用到了我自己写的工具箱 - -[qwe14789cn/SP: 信号处理工具箱 (github.com)​github.com/qwe14789cn/SP](https://github.com/qwe14789cn/SP) - -转载请注明知乎来源,谢谢~ - -
- -[https://zhuanlan.zhihu.com/p/92905007](https://zhuanlan.zhihu.com/p/92905007)
- - - diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/0.jpg b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/0.jpg deleted file mode 100644 index 5740da5..0000000 Binary files a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/0.jpg and /dev/null differ diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/1.jpg b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/1.jpg deleted file mode 100644 index 717c330..0000000 Binary files a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/1.jpg and /dev/null differ diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/2.jpg b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/2.jpg deleted file mode 100644 index d216d8b..0000000 Binary files a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/2.jpg and /dev/null differ diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/2022-04-25_11_10.txt b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/2022-04-25_11_10.txt deleted file mode 100644 index 51ee187..0000000 --- a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/2022-04-25_11_10.txt +++ /dev/null @@ -1,2 +0,0 @@ -2022-04-25_11_10 -https://zhuanlan.zhihu.com/p/69279528 \ No newline at end of file diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/3.jpg b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/3.jpg deleted file mode 100644 index a3c186e..0000000 Binary files a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/3.jpg and /dev/null differ diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/4.jpg b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/4.jpg deleted file mode 100644 index 7ae3da8..0000000 Binary files a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/4.jpg and /dev/null differ diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/5.jpg b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/5.jpg deleted file mode 100644 index bbb8739..0000000 Binary files a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/5.jpg and /dev/null differ diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/6.jpg b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/6.jpg deleted file mode 100644 index 94eaa2d..0000000 Binary files a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/6.jpg and /dev/null differ diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/7.jpg b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/7.jpg deleted file mode 100644 index fc69581..0000000 Binary files a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/7.jpg and /dev/null differ diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/窄带信号的通道矢量校正算法.pdf b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/窄带信号的通道矢量校正算法.pdf deleted file mode 100644 index e614137..0000000 Binary files a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/窄带信号的通道矢量校正算法.pdf and /dev/null differ diff --git a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/窄带信号的通道矢量校正算法_formula_.md b/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/窄带信号的通道矢量校正算法_formula_.md deleted file mode 100644 index 1fa1398..0000000 --- a/article/2022-04-25_11_10_窄带信号的通道矢量校正算法_/窄带信号的通道矢量校正算法_formula_.md +++ /dev/null @@ -1,215 +0,0 @@ -# 窄带信号的通道矢量校正算法 - -[转载自](https://zhuanlan.zhihu.com/p/69279528) - -作为第一篇文章,真的没头绪不知道要写什么。那干脆就零星的积累自己平时的一些工程知识,由于从事雷达信号处理方向,所以开头就从雷达开始写一些自己遇到的问题以及工程解决方法。 - -雷达,通信接收机通常会遇到这个通道一致性问题。通过AD采集到的数据会出现通道不一致的情况。幅度,相位,直流分量都不一样,直流分量还好说,计算个期望统一减去一个常数就可以解决,那么幅度和相位怎么办?矢量校正(幅相校正)算法就是解决这个问题的,矫正后通过补偿一个校正系数来保证通道一致。 - -以下用到了我的雷达工具箱 - -[GitHub - qwe14789cn/SP: 信号处理工具箱​github.com/qwe14789cn/SP](https://github.com/qwe14789cn/SP) - - - - -在开始之前我们先看看一个正常的信号,相位连续变化的时候,他的时频域是怎样变化的 - -构造一个40Mhz下采样的一个5Mhz信号,信号持续时间1e-5 s。我们用一个for循环让他的相位连续的变化。顺便做一个fft,看看他在频域上是啥样子。 - - - -``` -clear;clc; -%-------------------------------------------------------------------------- -% 以为40Mhz采样率生成一个5Mhz实信号 持续时间1e-5 -%-------------------------------------------------------------------------- -fs = 40e6; -t = 0:1/fs:(1e-5-1/fs); -f = 5e6; - -for fai = 0:0.2:2*pi - sig = cos(2.*pi.*f.*t+fai); - Nfft = 2^nextpow2(length(sig)); - sig_f = fft(sig,Nfft); - f1 = figure(1); - f1.Position = [463 401 1083 459]; - subplot(121) - plot(t,sig);grid on; - ylim([-1.5 1.5]);title(["\theta = " num2str(rad2deg(fai))]) - subplot(122) - sp.p3(sig_f);axis([0 512 -200 200 -200 200]) - drawnow() -end -``` - - - -这里fft我用了三维的方式画fft出来,分别画出了他的实部和虚部,并没有取他的abs, 取abs会丢失相位信息。工程中一个实信号做N点fft,这个仿真中我做了512点,那么点数与频域的对应分布关系是 - -频率分布是0 ~ fs/2 ~ -fs/2 ~ 0 - -点数分布是1 ~ 256 ~ 257 ~ 512 - -我们发现当相位变化的时候,(0,fs/2)的部分与(-fs/2,0)旋转方向完全相反。 - -ε=(´ο`*)))唉?好像与希尔伯特变换一样!! - - - -先跳过这个问题,以后再说说希尔伯特变换。 - -那么我们猜测一下,点频时域信号的相位对应的频域中的相位应该是他在对应频点位置时候复数的角度值,写个程序验证下 - - - -``` -clear;clc; -%-------------------------------------------------------------------------- -% 以为40Mhz采样率生成一个5Mhz实信号 持续时间1e-5 -%-------------------------------------------------------------------------- -fs = 40e6; -t = 0:1/fs:(1e-5-1/fs); -f = 5e6; - -pic_num = 1; -for fai = 0:0.05:pi/4 - sig = cos(2.*pi.*f.*t+fai); - Nfft = 2^nextpow2(length(sig)); - sig_f = fft(sig,Nfft); - f1 = figure(1); - f1.Position = [463 401 1083 459]; - subplot(121) - plot(t,sig);grid on; - ylim([-1.5 1.5]); - title(["\theta = " num2str(rad2deg(fai))]) - subplot(122) - sp.p3(sig_f);axis([0 512 -200 200 -200 200]) - ang = max(sig_f(1:256)); - title(["\theta = " num2str(rad2deg(angle(ang)))]) - drawnow() -end -``` - - - -在右侧我们把复数的角度算出来写到title上与左边对比,发现角度一样,也就是说在频域上信号的相位与时域信号完全对应,当然(-fs/2,0)就是反着旋转了。 - -那么思路来了,如果有两个信号sig1和sig2在我们采集后发现幅相不一致,我们可以通过频域的方法对各个通道进行矫正,这里就需要进行复数运算 - - -$e^{j\theta_2}=e^{j\theta_1+\Delta\theta}=e^{j\theta_1}e^{j\Delta\theta}$ - -我们发现相位补偿直接可以通过复数乘法实现,同理,那么除法当然就是减法了 - - -$e^{j\theta_2}=e^{j\theta_1-\Delta\theta}=e^{j\theta_1}/e^{j\Delta\theta}$ - -那么我们把幅度信息也加上,公式变成了 - - -$A_1Be^{j\theta_2}=A_1Be^{j\theta_1+\Delta\theta}=A_1e^{j\theta_1}Be^{j\Delta\theta}$ - -那么这就好玩了,如果我们有一路信号sig1,一路信号sig2 - -我想让信号sig2向sig1校正对齐,那么在复平面上如图 - - - -红色的是sig1,绿色的是sig2,也就是说 绿色的信号需要补偿一个蓝色的矢量是红色的信号。蓝色的信号怎么求呢? - - -$sig1=sig2*V$ - - -$V=sig1/sig2$ - -这个矢量就是我们的校正补偿量,如果我们有2个实信号 $sig1$ 和 $sig2$ 。当我们需要把 $sig2$ 向 $sig1$ 看齐时,我们只需要给 $sig2$ 乘以 $V$ 即可。那么这个过程我们在频域上执行,这里就需要考虑希尔伯特变换的特性了。我们发现频域的(0,fs/2)是乘以 $V$ ,那么(-fs/2,0)的部分我们应该乘以多少呢?发现他的旋转方向是反的,我们应该乘以V的共轭 $conj(V)$ 。写个程序验证一下。 - - - -``` -clear;clc; -%-------------------------------------------------------------------------- -% 以为40Mhz采样率生成一个5Mhz实信号 持续时间1e-5 -%-------------------------------------------------------------------------- -rng(2019) -fs = 40e6; -t = 0:1/fs:(1e-5-1/fs); -f = 5e6; - -sig1 = randn.*cos(2.*pi.*f.*t+randn); -sig2 = randn.*cos(2.*pi.*f.*t+randn); - -plot(t,sig1,t,sig2);grid on;legend('sig1','sig2') -``` - - - -构造了一个幅度相位都不一样的东西,我们在频域上看看 - - - -``` -clear;clc; -%-------------------------------------------------------------------------- -% 以为40Mhz采样率生成一个5Mhz实信号 持续时间1e-5 -%-------------------------------------------------------------------------- -rng(2019) -fs = 40e6; -t = 0:1/fs:(1e-5-1/fs); -f = 5e6; -sig1 = randn.*cos(2.*pi.*f.*t+randn); -sig2 = randn.*cos(2.*pi.*f.*t+randn); -Nfft=512; -sf1 = fft(sig1,Nfft); -sf2 = fft(sig2,Nfft); -sp.p3(sf1);hold on;sp.p3(sf2) -``` - - - -发现没有,他们的幅度,相位指向都不一样,我们试着校正一下看看 - - - -``` -v = max(sf1(1:256))./max(sf2(1:256)); -sf2 = [sf2(1:256).*v sf2(257:end).*conj(v)]; -sp.p3(sf1);hold on;sp.p3(sf2) -``` - - - -sig1和sig2重合了,幅度相位完全一致。 - -也就是说两个通道的话按照sig1为基准来校正sig2,那么相控阵雷达各个通道校正就容易理解了,例如有30路信号,产生一个基准点频信号,以其中1路为基准校正其他29路信号,我们需要计算29路信号的补偿矢量,然后在乘以这个复数将各个通道还原回来。 - -我们再用ifft看一下时域信号是不是我们说的一致了。 - - - -``` -nsig1 = real(ifft(sf1,Nfft)); -nsig2 = real(ifft(sf2,Nfft)); -plot(t,nsig1(1:400));hold on;plot(t,nsig2(1:400),'r--'); -grid on; -ylim([-0.6 0.6]) -legend("sig1","矫正后sig2") -``` - - - -我们看到sig1和校正后的sig2完全重合,这就是矢量校正算法,两路通道是这样,那么多路通道也是这样,重复上述过程即可,你只需要选一个参考通道,然后大喊一声,向他看齐! - - - - -感谢阅读,欢迎交流!转载请注明知乎来源,谢谢~ - -
- -[https://zhuanlan.zhihu.com/p/69279528](https://zhuanlan.zhihu.com/p/69279528)
- - - diff --git a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/0.jpg b/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/0.jpg deleted file mode 100644 index 6d9e909..0000000 Binary files a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/0.jpg and /dev/null differ diff --git a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/1.jpg b/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/1.jpg deleted file mode 100644 index 432c659..0000000 Binary files a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/1.jpg and /dev/null differ diff --git a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/2.jpg b/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/2.jpg deleted file mode 100644 index 08e515f..0000000 Binary files a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/2.jpg and /dev/null differ diff --git a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/2022-05-02_20_34.txt b/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/2022-05-02_20_34.txt deleted file mode 100644 index e79fbe1..0000000 --- a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/2022-05-02_20_34.txt +++ /dev/null @@ -1,2 +0,0 @@ -2022-05-02_20_34 -https://zhuanlan.zhihu.com/p/363634566 \ No newline at end of file diff --git a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/3.jpg b/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/3.jpg deleted file mode 100644 index 69868c7..0000000 Binary files a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/3.jpg and /dev/null differ diff --git a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/4.jpg b/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/4.jpg deleted file mode 100644 index 9a2b024..0000000 Binary files a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/4.jpg and /dev/null differ diff --git a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/从主动降噪耳机说到——LMS自适应滤波.pdf b/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/从主动降噪耳机说到——LMS自适应滤波.pdf deleted file mode 100644 index 3f7b329..0000000 Binary files a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/从主动降噪耳机说到——LMS自适应滤波.pdf and /dev/null differ diff --git a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/从主动降噪耳机说到——LMS自适应滤波_formula_.md b/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/从主动降噪耳机说到——LMS自适应滤波_formula_.md deleted file mode 100644 index a111eb8..0000000 --- a/article/2022-05-02_20_34_从主动降噪耳机说到——LMS自适应滤波_/从主动降噪耳机说到——LMS自适应滤波_formula_.md +++ /dev/null @@ -1,213 +0,0 @@ -# 从主动降噪耳机说到——LMS自适应滤波 - -[转载自](https://zhuanlan.zhihu.com/p/363634566) - -最近收到了自己的生日礼物非常开心!特来专栏嘚瑟一下~ - - - -[广告Bose QuietComfort Earbuds真无线蓝牙降噪运动降噪豆京东¥2299.00去购买​](https://union-click.jd.com/jdc?e=jdext-1363972579464753152-0&p=AyIGZRhcFAcVBlQeUxUyEgZUGFwQABUCURleEwQiQwpDBUoyS0IQWhkeHAxfEE8HCllHGAdFBwsCEwZWHF4XBRcDVx5dEx1LQglGaxFlTFwIQTsPYnVDVVMycHd7DktuJGUOHjdVElsXChMGVRxYJQITBlUfXhYBFAZlK1sQMlNpVRpcEAYTBVcrWiUCFQdTE10SBxMCUBpSJQIaA2XN9YHXmriMq%2F7DqLzS2KuOnKnGudMrayUBIlwATxJQHhIFUhlTEwEWAV0eXBAEFgVVH1gJAyIHVBpZEgIaDlcYNRACEwZUEl4dARNpVxpaFwMXDlwcUiUCIgRlRTUUURIFUBkLEmxIWAVODk5fQGlSE1gcABEBZRlaFAAQ) - -降噪一开完全就是两个世界,相当给力,同时还能保证音质,盒子还可以无线充电,更方便了,开心~ - -那么嘚瑟完了之后,我们今天来继续学习信号处理的知识,如何利用LMS滤波器实现主动降噪算法。 - -主动降噪耳机的原理,大家应该都比较清楚,如果不清楚呢我再解释一下,耳机专门有一个麦克风来采集外部的噪声信号,然后通过产生反向的信号与外界的噪声叠加归零进行噪声消除 - -假设音乐的声音为 $s_{耳机}$ 噪声的声音为 $n_{环境}$ ,人耳听到的声音实际上是 - - -$in = s_{耳机}+n_{环境}\\$ - -但是我的目的是为了听到声音为纯净的音乐 $s$ ,因此主动降噪耳机此时用麦克风采集外部的噪声,并产生一个反向的信号输出,即为 - - -$in = (s-A*n)_{耳机}+n_{环境}\\$ - -式中 $A$ 为生成噪声的幅度,那么当我的 $A$ 与外部环境噪声的幅度一致,即为1的时候,听到的信号即为 $in = (s-n)_{耳机}+n_{环境}=s\\$ - -此时就能听到非常干净的音乐了 - -原理其实是非常简单的,但是我们发现了一个问题,A的大小至关重要,如果A大于1或者小于1了,噪声都消除的不干净,因此如何得出靠谱的A的大小就是至关重要的事情。 - -那么如何计算A呢?我们需要一个评估办法来判断A的大小!那么引出今天的主题, **主动降噪的基础算法** ——LMS自适应滤波( **注意这篇是入门,并不是说主动降噪就是用这个算法** ) - -借用了一下作者的图 - -[lms算法在自适应滤波器中解决了什么问题?152 赞同 · 39 评论回答](https://www.zhihu.com/question/37548162/answer/125761580) - - - -我们按照图来描述一下,整个过程实际上是 - -人耳听到的声音实际上是耳机输出 **音乐+环境音** $x(n)$ ,将其与麦克风采集到的外部环境音 $d(n)$ 做差,得到 $e(n)$ ,为了使 $e(n)$ 最小化,不断地调节自适应滤波器( **图中的adaptive Filter)** 来使得输出的 $y(n)$ 非常接近 **音乐-环境音** $y(n)$ ,这样子人耳听到的就是纯净的音乐了。 - -那么LMS滤波器的过程实际上为主要的三个步骤: - - -$滤波:y(n) = w^T(n)x(n)\\ 误差:e(n)=d(n)-y(n)\\ 更新:w(n+1)=w(n)+2ue(n)x(n)$ - -为什么 **更新的权重公式** 是这么写?我又偷懒了,有现成的作者写的非常好,我就不展开了,请看这里: - -[自适应滤波器(一)LMS自适应滤波器494 赞同 · 57 评论文章](https://zhuanlan.zhihu.com/p/358236441) - -最后完成滤波的过程,那么知道了原理我们写一下代码看看: - - - -``` -clear;clc; - -%-------------------------------------------------------------------------- -% 参数%--------------------------------------------------------------------------; -t = 0:500; -xs = 3*sin(t); %产生原始音频信号 -figure(1) -subplot(311); -plot(t,xs);grid on;ylabel('幅度');title('输入音乐') - -%-------------------------------------------------------------------------- -% 噪声信号产生 -%-------------------------------------------------------------------------- -xn = 0.5*randn(size(xs)); %产生噪声信号 -subplot(312) -plot(t,xn);grid on -ylabel('幅度');xlabel('时间');title('外部环境噪声') - -%-------------------------------------------------------------------------- -% 信号滤波 -%-------------------------------------------------------------------------- -xo = xs + xn; %听到的实际上是音乐+噪声 -xo = xo.'; %输入信号序列 -dn = xs.'; %预期结果序列,我们已经保存好的音乐 数字格式 -M = 20; %滤波器阶数 - -rho_max = max(eig(xo*xo.')); %输入信号的相关矩阵的最大特征值 -mu = (1/rho_max); %收敛因子0 - -这里看到本来输出的声音 ,就是音乐+环境噪声 - -我们用LMS滤波器处理一下,针对噪声进行反向操作 - - - -注意图2,原始音频我们可是保存好了,在电脑里面存的就是原始音频,所以我们滤波器的作用就是产生反向的噪声,来使误差最小化 - -最后我们看下滤波器从的迭代更新情况 - - - - - - -朝着奇怪的方向发展了呢?! - -不明觉厉,反正可以干掉环境噪声就行了~ - -最后,有不足之处欢迎指正。转载请注明来源,谢谢~ - -qwe14789cn - -15 次咨询5.0 - - - -中国民航大学 信息与通信工程硕士 - -6926 次赞同 - - - -去咨询 - - - - - - - -
- -[https://zhuanlan.zhihu.com/p/363634566](https://zhuanlan.zhihu.com/p/363634566)
- - - diff --git a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/0.jpg b/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/0.jpg deleted file mode 100644 index 158b95b..0000000 Binary files a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/0.jpg and /dev/null differ diff --git a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/1.jpg b/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/1.jpg deleted file mode 100644 index 6e6c024..0000000 Binary files a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/1.jpg and /dev/null differ diff --git a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/2.jpg b/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/2.jpg deleted file mode 100644 index 662cc36..0000000 Binary files a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/2.jpg and /dev/null differ diff --git a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/2022-06-08_19_08.txt b/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/2022-06-08_19_08.txt deleted file mode 100644 index 241442f..0000000 --- a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/2022-06-08_19_08.txt +++ /dev/null @@ -1,2 +0,0 @@ -2022-06-08_19_08 -https://zhuanlan.zhihu.com/p/452461912 \ No newline at end of file diff --git a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/3.jpg b/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/3.jpg deleted file mode 100644 index dab9274..0000000 Binary files a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/3.jpg and /dev/null differ diff --git a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/正交曲线坐标系中梯度、散度、旋度的理解与记忆.pdf b/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/正交曲线坐标系中梯度、散度、旋度的理解与记忆.pdf deleted file mode 100644 index dc55890..0000000 Binary files a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/正交曲线坐标系中梯度、散度、旋度的理解与记忆.pdf and /dev/null differ diff --git a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/正交曲线坐标系中梯度、散度、旋度的理解与记忆_formula_.md b/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/正交曲线坐标系中梯度、散度、旋度的理解与记忆_formula_.md deleted file mode 100644 index f18d08a..0000000 --- a/article/2022-06-08_19_08_正交曲线坐标系中梯度、散度、旋度的理解与记忆_/正交曲线坐标系中梯度、散度、旋度的理解与记忆_formula_.md +++ /dev/null @@ -1,142 +0,0 @@ -# 数学基础 | 正交曲线坐标系中梯度、散度、旋度的理解与记忆 - -[转载自](https://zhuanlan.zhihu.com/p/452461912) - -对学过高数的人来说,对计算梯、散、旋的三个公式应该是记得滚瓜烂熟了—— - - -$\nabla f=\frac{\partial f}{\partial z} \hat{i}+\frac{\partial f}{\partial y} \hat{j}+\frac{\partial f}{\partial z} \hat{k}$ - - -$\nabla \cdot \mathbf{f}=\frac{\partial f_{x}}{\partial x}+\frac{\partial f_{y}}{\partial y}+\frac{\partial f_{z}}{\partial z}$ - - -$\nabla \times \mathbf{f}=\left(\frac{\partial f_{z}}{\partial y}-\frac{\partial f_{y}}{\partial z}\right) \hat{i}+\left(\frac{\partial f_{x}}{\partial z}-\frac{\partial f_{z}}{\partial x}\right) \hat{j}+\left(\frac{\partial f_{y}}{\partial x}-\frac{\partial f_{x}}{\partial y}\right) \hat{k}$ - -然而这些只是直角坐标系中的特殊情况,在常见的球坐标系、柱坐标系中,或者说在一般的曲线正交坐标系中,这些公式并不适用。 - -在电动力学、数理方法中会首先接触到正交曲线坐标系,其中的梯度、散度、旋度以及拉普拉斯算符形式如下, - - -$\nabla \Phi= \frac{1}{h_{1}} \frac{\partial \Phi}{\partial u_{1}} \hat{\mathbf{e}}_{1} +\frac{1}{h_{2}} \frac{\partial \Phi}{\partial u_{2}}\hat{\mathbf{e}}_{2} +\frac{1}{h_{3}} \frac{\partial \Phi}{\partial u_{3}} \hat{\mathbf{e}}_{3}$ - - -$\nabla \cdot \mathbf{F}=\frac{1}{h_{1} h_{2} h_{3}}\left[\frac{\partial}{\partial u_{1}}\left(h_{2} h_{3} F_{1} \right)+\frac{\partial}{\partial u_{2}}\left(h_{3} h_{1} F_{2} \right)+\frac{\partial}{\partial u_{3}}\left(h_{1} h_{2} F_{3} \right)\right]$ - - -$\nabla \times \mathbf{F}=\frac{1}{h_{2} h_{3}}\left[\frac{\partial}{\partial u_{2}}\left(h_{3} F_{3}\right)-\frac{\partial}{\partial u_{3}}\left(h_{2} F_{2}\right)\right]\mathbf{e}_{1} +\frac{1}{h_{3} h_{1}}\left[\frac{\partial}{\partial u_{3}}\left(h_{1} F_{1}\right)-\frac{\partial}{\partial u_{1}}\left(h_{3} F_{3}\right)\right] \mathbf{e}_{2} +\frac{1}{h_{1} h_{2}}\left[\frac{\partial}{\partial u_{1}}\left(h_{2} F_{2}\right)-\frac{\partial}{\partial u_{2}}\left(h_{1} F_{1}\right)\right]\mathbf{e}_{3}$ - - -$\nabla^{2} \Phi=\frac{1}{h_{1} h_{2} h_{3}}\left[\frac{\partial}{\partial u_{1}}\left(\frac{h_{2} h_{3}}{h_{1}} \frac{\partial \Phi}{\partial u_{1}}\right)+\frac{\partial}{\partial u_{2}}\left(\frac{h_{3} h_{1}}{h_{2}} \frac{\partial \Phi}{\partial u_{2}}\right)+\frac{\partial}{\partial u_{3}}\left(\frac{h_{1} h_{2}}{h_{3}} \frac{\partial \Phi}{\partial u_{3}}\right)\right]$ - -在学习过程中,这么长的公式确实没必要花功夫去死记硬背,但记住这些式子会很有用——因为物理里面经常用到,每次翻书太麻烦了。实际上,这些看起来非常复杂的式子,只要记住其 **几何意义** ,就会很自然地记住,并不需要死记硬背。 - -这篇文章就是帮助初学者快速 **理解和记忆** 这些式子。 - -## 1 拉梅系数 - -在上面的一堆式子中出现的 $h_i$ 称为拉梅系数。可以通过如下方法计算与定义: - -对式位矢 $\boldsymbol{\alpha}=(u^1,u^2,u^3)$ 作微分,得到, - - -$\begin{equation} \label{eq: 2-9} \mathrm{d}\boldsymbol{\alpha} = \frac{\partial \boldsymbol{\alpha}}{\partial u^i} \mathrm{d} u^i \end{equation}$ - -其中 $\frac{\partial \boldsymbol{\alpha}}{\partial u^i}$ 就是在曲线坐标系中沿着不同方向的切矢。可以用单位矢量表示出来, - - -$\begin{equation} \label{eq: 2-10} \frac{\partial \boldsymbol{\alpha}}{\partial u^i} = h_i \boldsymbol{e_i} \end{equation} $ - -这里的 $H_i$ 就是 **拉梅系数** , 即左边这个矢量的模, - - -$\label{eq: 2-11} h_i=\left | \frac{\partial \boldsymbol{\alpha}}{\partial u^i} \right | = \sqrt{{\sum_{i=1}^{3} \left ( \frac{\partial \alpha_i}{\partial u^i} \right )}^2} $ - -实际上,这个拉梅系数就是空间微元的边长(图1-1),或者说是三个线元的长度。 - - -$dl_1=h_1du_1$ , $dl_2=h_2du_2$ , $dl_3=h_3du_3$ - - - -直角坐标系最简单,它的拉梅系数都是1,所以梯散旋的计算如本文最开始的三个公式那样简单,而同样常见的球坐标系和柱坐标系就没那么简单了。 - -这里可以回忆一下多元微积分中遇到的雅克比行列式,那里推导了球坐标系和柱坐标系的体元和线元。 - -## 2 梯度 - -我们来回顾一下梯度的定义: - -以 $u_1$ 方向为例,这个方向的导数为(结合图2-1), - - -$\frac{d\Phi}{dl_1}=\frac{1}{h_1}\frac{d\Phi}{du_1}$ - - - -其他方向同理,可以得到, - - -$\nabla \Phi= \frac{1}{h_{1}} \frac{\partial \Phi}{\partial u_{1}} \hat{\mathbf{e}}_{1} +\frac{1}{h_{2}} \frac{\partial \Phi}{\partial u_{2}}\hat{\mathbf{e}}_{2} +\frac{1}{h_{3}} \frac{\partial \Phi}{\partial u_{3}} \hat{\mathbf{e}}_{3}$ - -## 3 散度 - -散度的几何意义是: **单位体积内的通量** —— **通量密度** 。 - -同样,以 $u_1$ 方向的分量 $F_1$ 为例,其通过的面元面积为 $S=h_2h_3$ (图3-1),则通量为, - - -$dP=h_2h_3F_1$ - -计算通量在 $u_1$ 方向的变化率,求个导,因此出现了 $\frac{\partial}{\partial u_{1}}(h_{2} h_{3} F_{1} )$ 这一项。 - - - -最后,既然是通量密度,那必须要除以体积 $h_1h_2h_3$ ,就是最前面的一个系数。 - - -$\nabla \cdot \mathbf{F}=\frac{1}{h_{1} h_{2} h_{3}}\left[\frac{\partial}{\partial u_{1}}\left(h_{2} h_{3} F_{1} \right)+\frac{\partial}{\partial u_{2}}\left(h_{3} h_{1} F_{2} \right)+\frac{\partial}{\partial u_{3}}\left(h_{1} h_{2} F_{3} \right)\right]$ - -## 4 旋度 - -旋度的几何意义是: **单位面积内的环量** —— **环量密度** 。 - -既然是环量,那必然要乘上 **线元长度** (图4-1),和熟知的直角坐标形式类比一下,就是这样的, - - -$\frac{\partial}{\partial u_{2}}\left(h_{3} F_{3}\right)-\frac{\partial}{\partial u_{3}}\left(h_{2} F_{2}\right)$ - - - -最后除以面积 $h_{2} h_{3}$ , - - -$\frac{1}{h_{2} h_{3}}\left[\frac{\partial}{\partial u_{2}}\left(h_{3} F_{3}\right)-\frac{\partial}{\partial u_{3}}\left(h_{2} F_{2}\right)\right]\mathbf{e}_{1}$ - -其他两个分量用同样的方法得出, - - -$\nabla \times \mathbf{F}=\frac{1}{h_{2} h_{3}}\left[\frac{\partial}{\partial u_{2}}\left(h_{3} F_{3}\right)-\frac{\partial}{\partial u_{3}}\left(h_{2} F_{2}\right)\right]\mathbf{e}_{1} +\frac{1}{h_{3} h_{1}}\left[\frac{\partial}{\partial u_{3}}\left(h_{1} F_{1}\right)-\frac{\partial}{\partial u_{1}}\left(h_{3} F_{3}\right)\mathbf{e}_{2} \right] +\frac{1}{h_{1} h_{2}}\left[\frac{\partial}{\partial u_{1}}\left(h_{2} F_{2}\right)-\frac{\partial}{\partial u_{2}}\left(h_{1} F_{1}\right)\right]\mathbf{e}_{3}$ - -## 5 拉普拉斯算符 - -标量场 **梯度的散度** 就是拉普拉斯, - - -$\nabla ·\nabla \Phi=\nabla^{2} \Phi$ - -所以,直接把上面计算的梯度和散度带进去,很容易得到, - - -$\nabla^{2} \Phi=\frac{1}{h_{1} h_{2} h_{3}}\left[\frac{\partial}{\partial u_{1}}\left(\frac{h_{2} h_{3}}{h_{1}} \frac{\partial \Phi}{\partial u_{1}}\right)+\frac{\partial}{\partial u_{2}}\left(\frac{h_{3} h_{1}}{h_{2}} \frac{\partial \Phi}{\partial u_{2}}\right)+\frac{\partial}{\partial u_{3}}\left(\frac{h_{1} h_{2}}{h_{3}} \frac{\partial \Phi}{\partial u_{3}}\right)\right]$ - -这是新专栏的第一篇文章,之后打算写物理和天文的相关知识,帮助大家理解。 - -(挖的新坑~) - -
- -[https://zhuanlan.zhihu.com/p/452461912](https://zhuanlan.zhihu.com/p/452461912)
- - - diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/0.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/0.jpg deleted file mode 100644 index 8b0f8de..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/0.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/1.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/1.jpg deleted file mode 100644 index c05667a..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/1.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/10.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/10.jpg deleted file mode 100644 index ca7c7d6..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/10.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/11.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/11.jpg deleted file mode 100644 index ef178dd..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/11.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/12.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/12.jpg deleted file mode 100644 index 5195ea9..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/12.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/13.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/13.jpg deleted file mode 100644 index 747c14c..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/13.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/14.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/14.jpg deleted file mode 100644 index 90c741a..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/14.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/2.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/2.jpg deleted file mode 100644 index ac41142..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/2.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/2023-02-06_13_06・IP_属地河北.txt b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/2023-02-06_13_06・IP_属地河北.txt deleted file mode 100644 index c6f37da..0000000 --- a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/2023-02-06_13_06・IP_属地河北.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-02-06_13_06・IP_属地河北 -https://zhuanlan.zhihu.com/p/603862811 \ No newline at end of file diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/3.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/3.jpg deleted file mode 100644 index c43d5d8..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/3.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/4.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/4.jpg deleted file mode 100644 index 7562541..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/4.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/5.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/5.jpg deleted file mode 100644 index 75057fd..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/5.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/6.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/6.jpg deleted file mode 100644 index 32bd33c..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/6.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/7.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/7.jpg deleted file mode 100644 index ea4a12c..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/7.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/8.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/8.jpg deleted file mode 100644 index ae0d8bf..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/8.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/9.jpg b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/9.jpg deleted file mode 100644 index 75569a5..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/9.jpg and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/MPPT原理.pdf b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/MPPT原理.pdf deleted file mode 100644 index 730ce0c..0000000 Binary files a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/MPPT原理.pdf and /dev/null differ diff --git a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/MPPT原理_formula_.md b/article/2023-02-06_13_06_MPPT原理_IP_属地河北/MPPT原理_formula_.md deleted file mode 100644 index 4430698..0000000 --- a/article/2023-02-06_13_06_MPPT原理_IP_属地河北/MPPT原理_formula_.md +++ /dev/null @@ -1,68 +0,0 @@ -# 光伏逆变器MPPT的作用、原理及算法,满满的都是干货! - -[转载自](https://zhuanlan.zhihu.com/p/603862811) - - - - - - - - -MPPT是逆变器非常核心的技术,MPPT电压在进行光伏电站设计时一项非常关键的参数。 - -## 一、什么是MPPT? - - - - - - - - - - -## 二、单个光伏组件的MPPT的影响因素 - - - - **1** . **辐照度对MPPT的影响** - - - - **2、温度对MPPT的影响** - - - -## 三、光伏发电单元的MPPT及其原理与算法 - - **1、光伏发电单元的MPPT** - - - - - - - - **2、最大功率点跟踪的原理** - - - - - - - - **3、MPPT的算法** - - - - - - - -
- -[https://zhuanlan.zhihu.com/p/603862811](https://zhuanlan.zhihu.com/p/603862811)
- - - diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/0.jpg b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/0.jpg deleted file mode 100644 index b6f57dd..0000000 Binary files a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/0.jpg and /dev/null differ diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/1.jpg b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/1.jpg deleted file mode 100644 index a8d08cf..0000000 Binary files a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/1.jpg and /dev/null differ diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/2.jpg b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/2.jpg deleted file mode 100644 index 5c708ec..0000000 Binary files a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/2.jpg and /dev/null differ diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/2023-04-11_00_44・IP_属地陕西.txt b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/2023-04-11_00_44・IP_属地陕西.txt deleted file mode 100644 index 29ca369..0000000 --- a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/2023-04-11_00_44・IP_属地陕西.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-04-11_00_44・IP_属地陕西 -https://zhuanlan.zhihu.com/p/100595803 \ No newline at end of file diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/3.jpg b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/3.jpg deleted file mode 100644 index a7ce68e..0000000 Binary files a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/3.jpg and /dev/null differ diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/4.jpg b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/4.jpg deleted file mode 100644 index e3b2208..0000000 Binary files a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/4.jpg and /dev/null differ diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/5.jpg b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/5.jpg deleted file mode 100644 index 63e76e2..0000000 Binary files a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/5.jpg and /dev/null differ diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/6.jpg b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/6.jpg deleted file mode 100644 index 7b925f3..0000000 Binary files a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/6.jpg and /dev/null differ diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/7.jpg b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/7.jpg deleted file mode 100644 index b3c2ac3..0000000 Binary files a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/7.jpg and /dev/null differ diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/雷达信号仿真的基本原理——时延与相位的变化.pdf b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/雷达信号仿真的基本原理——时延与相位的变化.pdf deleted file mode 100644 index d866fb9..0000000 Binary files a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/雷达信号仿真的基本原理——时延与相位的变化.pdf and /dev/null differ diff --git a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/雷达信号仿真的基本原理——时延与相位的变化_formula_.md b/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/雷达信号仿真的基本原理——时延与相位的变化_formula_.md deleted file mode 100644 index 65bb4ea..0000000 --- a/article/2023-04-11_00_44_雷达信号仿真的基本原理——时延与相位的变化_IP_属地陕西/雷达信号仿真的基本原理——时延与相位的变化_formula_.md +++ /dev/null @@ -1,217 +0,0 @@ -# 雷达信号仿真的基本原理——时延与相位的变化 - -[转载自](https://zhuanlan.zhihu.com/p/100595803) - -在上一篇文章的开头 - -[使用MATLAB工具箱来玩FMCW毫米波雷达仿真223 赞同 · 64 评论文章](https://zhuanlan.zhihu.com/p/92905007) - -我提到了这句 - -虽然话是这么说,雷达信号的回波计算公式课本上也有,但是在电磁波传播这块,我相信还是会有小伙伴会产生疑惑。所以今天花点时间,打算用可视化的方式,更加直观地理解信号在空间中传播的时延和相位变化。那么废话不多,开始今天的探索过程。 - -在开始之前,我们需要先建立雷达 **距离门(range gate)** 的概念。雷达对距离的计算实际上是通过电磁波在空间中的传播速度进行 **时间-距离** 换算的。假设雷达距离目标是$R$ ,那么从雷达发射电磁波到达目标再返回接收,飞行了 $2R$ 的距离,那么飞行时间是 $t=2R/c$ ,飞行距离就是 $R=ct/2$ 。现代雷达系统的回波信号由ADC采集,在转换的过程中,采样率将回波信号离散化了。我们知道采样率 $fs$ 的ADC其采样时间是 $Ts=1/fs$ ,这是有时间长度的。对应到雷达系统上,电磁波在 $Ts$ 之内飞行的是一段距离,这一段距离就叫距离门。 - - **距离门** 表示离散采样点对应雷达探测空间中的距离单元,所以距离门的英文也叫range bin(这个是我自己的理解,并不是官方定义) - -我们举个例子,一个5Mhz的ADC采样,其采样时间间隔是2e-7 s,对应的距离是 $\Delta R=c\Delta t/2$ =(3e8 * 2e-7)/2=30m。即一个5Mhz的ADC采样,一个采样点对应空间中的距离是30m的一个小格。 - -借用了一篇气象雷达的示意图来解释一下距离门 - - - -从图中可以看到,一个采样点对应的是一个空间格子中的所有目标,这个格子中包含了大量的气象粒子,那么为什么要说这个概念呢? - -因为,一个目标如果在一个30m的距离门内移动,目标的回波信号采样点不会进入下一个距离门。我们举个例子,假设一个理想雷达,目标从1500m移动到1529米,他的回波信号会落在ADC采样点的第1500/30=50个点上,并不会移动到第51点。 - -清楚了这个概念,我们就可以进行 - - **目标的时间延迟仿真** - -假设我们发射的波形就是一个冲击信号,瞬间一个1,剩下都是0,那么如果按照5MHz的采样率应该是30m移动一格,我们仿真的信号随着目标距离的变化进行平移 - - - - - - -可以看到,距离上每30m才跳一个采样点,这样子延迟仿真就完成了,代码如下: - - - -``` -sig = [1 zeros(1,50)]; -c = 3e8;fs = 5e6; -T = 1./fs; -for range = 0:10:500 - stem(sig);hold on - N = floor(range./time2range(T)); - stem(circshift(sig,N)); - grid on;hold off - title(['目标移动 ' num2str(range) ' m 平移-> ' num2str(N) ' 点']) - xlabel('by qwe14789cn') - drawnow(); -end -``` - -但是又有个问题,雷达明明可以检测 **目标速度** 啊!在目标运动速度较慢的情况下,回波信号是跑不出一个距离门的,但是为什么可以检测目标的速度信息? - -那么就要研究要研究一下在一个距离门内,随着目标进行移动,其相位信息是如何变化的了。 - -我们假设雷达发射的信号是要通过载波的,因此就算我发射一个冲击信号1出去,也是要通过载波发射出去的,假设我载频是20GHz,那么这个冲击信号在介质中是如何传播的呢? - -做了一个简单的可视化如图 - - - -为了表示振动方向,我引入了复数,用实部和虚部表示了2个互相垂直的振动方向。那么这个冲击信号在基带上就是个瞬间的1发射出去,为了统一,用复数(1+0j)表示瞬间发射的冲击信号1。经过载频后,他实际上在空间中走了一条蓝色的像弹簧一样的曲线在空间中传播。 - -( **注意** :雷达的电磁波振动方向由天线决定,并不是图中所示的圆极化,但是用 **圆极化是非常好的理解方式** ,因此我们就假设这个天线狂拽酷炫叼,发射出标准的圆极化电磁波来进行仿真。当然通常情况下为垂直极化,也有极化气象雷达发射圆极化,根据水平和垂直方向的电磁波信息检测气象目标) - -图中 **红色** 曲线是电磁波在水平方向的投影, **黄色曲线** 是电磁波在垂直方向上的投影, **黑色轴** 是电磁波的传播方向。贴上代码: - - - -``` -clear;clc; - -c = 3e8; %光速 -fc = 1e3; %发射频率 -lambda = c/fc; %发射波长 -t = lambda./c; %一个波长的采样时长 -fs = 1e6; %采样速率 -T = 1./fs; - -sig = sp.exp_wave(2*t,fc,fs); - -t = linspace(0,2,2000); -for idx = 1:20:length(t) - plot3(t(1:idx),real(sig(1:idx)),imag(sig(1:idx)),... - t(1:idx),real(sig(1:idx)),zeros(size(t(1:idx))),... - t(1:idx),zeros(size(t(1:idx))),imag(sig(1:idx))); - hold on - plot3(t(1:idx),zeros(size(t(1:idx))),zeros(size(t(1:idx))),'k'); - - quiver3(t(idx),0,0,0,real(sig(idx)),imag(sig(idx)),'color','#0072BD') - quiver3(t(idx),0,0,0,real(sig(idx)),zeros(size(t(idx))),'color','#D95319') - quiver3(t(idx),0,0,0,zeros(size(t(idx))),imag(sig(idx)),'color',[0.9290 0.6940 0.1250]) - grid on;axis equal;axis([-0.5 2.5 -1 1 -1 1]);hold off - title('by qwe14789cn');xlabel('传播方向');ylabel('实部');zlabel('虚部') - drawnow() -end -``` - -那么当冲击信号1完整的转了一圈,他在空间中走了多远的距离呢?一个波长 $\lambda$ - - - -也就是说,电磁波在空间中传播一个$\lambda$ 的距离,就会旋转2$\pi$,然后又传播一个 $\lambda$ 的距离,再旋转2$\pi$ 的角度,那么这个东西有什么用? - -为了讨论方便,我们引入 **相参** 的概念,并规定目标的移动较慢,并没有超出一个距离门。那么 **多次发射的目标速度变化信息体现在回波信号的相位变化** 上。 - -我们来先说 **相参** - -相参的第一个要求是发射波形不变,在这里我们假设是1+0j,也就是说每次发射都是1+0j,你不能这次发射的是1+0j,下一次是0+1j,再下一次是0.707+0.707j这样的变化信号。 - -相参的第二个要求是收发系统的时钟高度同步,这里是matlab仿真体现不出来,但是在实际系统中,收发开关是由一个指令同时发出,两边同时工作,保证时间轴在每一次发射严格对齐。 - -为什么要满足这2个要求?第一,目标的移动速度信息由回波信号的相位承载,我的发射波形必须高度一致,不附带任何信息量,相位的变化必须完全由目标提供。 - -第二,相位是时间敏感量,因此收发如果不同步我的相位信息就变了,从而影响我们计算出目标的速度信息。 - -满足了上述2个要求,那么我们就要分析目标移动是如何影响回波相位的。 - - - - -我们再来回顾下雷达到目标传播的距离关系 - - - -雷达发射电磁波到目标的距离是 $R$ ,电磁波在空间中传播 $2R$ ,我们可以把这个图换一个方式画出来 - - - -我们把探测目标的过程理解成电磁波传播了$2R$ 从雷达1发射 到雷达2接收的过程,那么在这个过程中,信号每 传播$\lambda$ 的距离,旋转 $2\pi$ ,那么最终到达时候相位是多少呢? - - - -从图上我们可以看到,最后余下的长度是 $2R/\lambda$ 的余数 $r$ , 我们将其表示为$2R=k\lambda+r(0 - -我们看到目标从310m按照每次发射移动0.1m的速度跑到320m,回波信号处在第10个距离门内。但是这一次,目标在一个距离单元内移动时,回波信号有了一个相位变化,这个相位变化就是我们刚才说的 $\theta=2R/\lambda\times2\pi$ ,可视化代码如下: - - - -``` -clear;clc; -sig = [1 zeros(1,50)]; -c = 3e8; -fs = 5e6; -T = 1./fs; -fc = 1e8; -lambda = c/fc; -for range = 310:0.1:320 - N = floor(range./time2range(T)); - sp.p3(circshift(sig,N).*exp(1j.*2*range/lambda*2*pi)); - grid on;hold off - title(['目标移动 ' num2str(range) ' m 平移-> ' num2str(N) ' 点']) - axis([0 50 -1 1 -1 1]) - drawnow(); -end -``` - -各位可能发现了,这里的仿真方式我跟书上的不一样,我并没有设计雷达每次发射的时间间隔 $PRT$ ,我直接规定了每次发射目标移动了0.1m,实际上如果雷达发射的 $PRT$ 知道的话,我们就知道了目标的移动速度是 $v=0.1/PRT$ ,这样子大家自己推导一下就跟书上的公式一样了。 - -那么结尾我们总结一下, **雷达信号的回波仿真** 主要由 **两点决定** ,一个是 **信号的时延** ,这个要掌握距离门的概念;另一个是 **信号的相位变化** ,虽然是由速度产生的相位变化,本质上还是距离的变化。 - -只有信号的回波仿真原理过程清楚了,我们才可以进行后续的处理部分,有时间我会单独开坑。 - -本文一不小心又用了自己的工具箱,今天代码注释没写,但是应该挺好理解,就偷懒了 - -[qwe14789cn/SP: 信号处理工具箱 (github.com)​github.com/qwe14789cn/SP](https://github.com/qwe14789cn/SP) - -推荐一本书,我最喜欢的新手入门 - -[广告现代雷达系统分析与设计京东¥67.10去购买​](https://union-click.jd.com/jdc?e=jdext-1628921175634837504-0-1&p=JF8BAcEJK1olXgcAU11cAEsWA18IGloQWgUAUVxUCUwQB19MRANLAjZbERscSkAJHTRQRA1CCVkdDwtCWhVLHTdNTwcKBENeCVAfUg8bA24JHlwWXwMAXV9aD08AQ2N8YitwKXV9FioCaCtucAhWbFlxBWJmPBg9QBZhYW50XSxOLWVlDi4UfAMWZw0JSRtjL1xkNhcPTjxudwlxbzBCKX9yNic-XQhjehdtYDxpW2NKNyg6VxV_UQl0fyxPIkF2LTY-aDhvBRlqZzJ2FAcLNCcLbTxjdCpoGSdxPlx1EygvazxgSwxXbzJhOHJbJwAqVx1PMztwQD1BHQZpNwAJekpwRT1jXwx8IXYOWG5dAUsVC24JG1wWbQYDVV5ZDUgUBW44K1sQbUdsVFxeDkIWM244G1wcXQYHUF9bC0sfCl8IE18li6iWgdbi0fuy1cWmztaliI-pgODbOHsnAF9TTg9cGBoCU11UAEgXA2kMHFkQVAQEUF9YFEoLA18IGloXWgYKXVxeZk4XAm4JEl4dXgdsVl9cCkoSCmYPEmsVXjYBZAAzCRgQBmcJElN7AFBRVwsOV0t5Bm8LHVsRWwEyVl9cCkknMw) - - - - -转载请注明知乎来源,谢谢~ - -qwe14789cn - -15 次咨询5.0 - - - -中国民航大学 信息与通信工程硕士 - -6926 次赞同 - - - -去咨询 - - - - - - - -## 参考 - -
- -[https://zhuanlan.zhihu.com/p/100595803](https://zhuanlan.zhihu.com/p/100595803)
- - - diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/0.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/0.jpg deleted file mode 100644 index 372dc8c..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/0.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/1.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/1.jpg deleted file mode 100644 index 04fbbc7..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/1.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/2.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/2.jpg deleted file mode 100644 index 319628c..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/2.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/2023-04-21_21_25・IP_属地湖南.txt b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/2023-04-21_21_25・IP_属地湖南.txt deleted file mode 100644 index 8a38cb1..0000000 --- a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/2023-04-21_21_25・IP_属地湖南.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-04-21_21_25・IP_属地湖南 -https://zhuanlan.zhihu.com/p/389642864 \ No newline at end of file diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/3.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/3.jpg deleted file mode 100644 index 2706371..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/3.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/4.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/4.jpg deleted file mode 100644 index a24da33..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/4.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/5.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/5.jpg deleted file mode 100644 index 64d9a1d..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/5.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/6.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/6.jpg deleted file mode 100644 index 3f5dbfe..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/6.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/7.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/7.jpg deleted file mode 100644 index bfccd21..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/7.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/8.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/8.jpg deleted file mode 100644 index 64d1b2d..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/8.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/9.jpg b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/9.jpg deleted file mode 100644 index 77d025d..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/9.jpg and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/麦克斯韦方程组总结.pdf b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/麦克斯韦方程组总结.pdf deleted file mode 100644 index 0800107..0000000 Binary files a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/麦克斯韦方程组总结.pdf and /dev/null differ diff --git a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/麦克斯韦方程组总结_formula_.md b/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/麦克斯韦方程组总结_formula_.md deleted file mode 100644 index f66604a..0000000 --- a/article/2023-04-21_21_25_麦克斯韦方程组总结_IP_属地湖南/麦克斯韦方程组总结_formula_.md +++ /dev/null @@ -1,227 +0,0 @@ -# 电动力学(一) | 麦克斯韦方程组总结 - -[转载自](https://zhuanlan.zhihu.com/p/389642864) - - - -``` -目录 - -前言 -1 电磁性质方程 -2 微分与积分形式及其含义 -3 边值关系 - 3.1 电场的跃变 - 3.2 磁场的跃变 -4 势场的边界条件 - 4.1 电势 - 4.2 磁势 - -``` - - **前言** - -本文对麦克斯韦方程组的相关知识,尤其是静电场和静磁场的性质,进行了简要总结。分别介绍了电磁性质方程、微分与积分形式及其含义以及边值关系,最后讨论了势场(电势,磁标势,磁矢势)的边界条件。 - -这篇文章主要是对物理图像的描述,无详细推导。由于篇幅过长,本文没有对电磁波进行总结和描述,打算以后再写。 - -如果想了解电磁场的可视化可以看这篇文章。 - -[拉格朗日L2:电动力学(二) | 利用MATLAB实现电磁场的可视化400 赞同 · 26 评论文章](https://zhuanlan.zhihu.com/p/390004533) - - - -麦克斯韦方程组由四个方程组成,它们与介质的 **电磁性质方程** 和 **边值关系** 一起,包含了电磁场的所有基本规律。 - - -$电磁场的描述 \left\{\begin{array}{1} 麦克斯韦方程组 \\电磁性质方程 \\边值关系 \end{array}\right.$ - - **1 电磁性质方程** - -电磁性质方程反应了介质的宏观电磁性质。当介质在电场或者磁场中,其内部的微观粒子会和电磁场发生相互作用,改变原始的电磁场分布。假设介质是 **均匀且各向同性** 的,那么有下列的线性关系: - - -$\left\{\begin{array}{1} \mathbf{J}=\sigma\mathbf{E} \\\mathbf{D}=\varepsilon\mathbf{E} \\\mathbf{B}=\mu\mathbf{H} \end{array}\right.$ - -此式为欧姆定律的微分形式, $\sigma$ 是电导率,即电阻的倒数。 - -这个式子很好理解。电场的存在,使得介质中出现电势差,正电荷在电场力的作用下向低电势的方向移动,形成电流。因此, **电流密度J的方向和电场强度E的方向相同,且成正比** 。 - - - -该式描述了介质在电场中的性质,它的基本形式是, - - -$\mathbf{D}=\varepsilon_{0}\mathbf{E} +\mathbf{P}$ - -其中, **P** 为电极化强度,定义为单位体积内的电偶极矩,描述介质被极化的程度。 - -假设电介质中的分子可以看成电偶极子。在受到电场力作用时, **电偶极矩p** 的方向会在力矩的作用下改变,所有的电偶极矩的方向趋于与 **E** 同向。因此 **P** 的方向和 **E** 相同,且成正比。电极化强度和电场强度的关系为, - - -$\mathbf{P}=\chi \varepsilon_0\mathbf{E}$ - - - -电位移矢量 **D** 是一个包含了电场强度E和电极化强度 **P** 的矢量,包含的信息更多。但它只是一个 **辅助场量** ,不代表真实的电场。 - -该式描述了介质在磁场中的性质,它的基本形式是, - - -$\mathbf{B}=\mu_{0}(\mathbf{H} +\mathbf{M})$ - -这里的 **M** 为磁化强度,为单位体积内的磁矩,描述介质被磁化的程度。 - -介质中的分子运动形成分子电流,产生磁矩。在存在磁场作用时, **磁矩m** 的方向会在磁场的作用下改变,磁矩的方向趋于与 **E** 相同或相反。因此 **M** 的方向和 **E** 相同或相反,且成正比。磁化强度和磁场强度的关系为, - - -$\mathbf{M}=\chi \mathbf{H}$ - - - -这里需要注意的是,与电场不同,这里的磁场强度 **H** 是一个 **辅助场量** ,磁感应强度 **B** 才是真正描述磁场大小的物理量。此外,在很多介质中M和H并不是线性关系,例如铁磁质,关系较为复杂,这里为了简化,当做线性。 - - **2 微分与积分形式及其含义** - -我们在电磁学或者电动力学中接触过,麦克斯韦方程组可以写成两种形式:微分形式和积分形式,具体形式如下。 - - -$\left\{\begin{array}{l} \iint _\mathbb{S} \mathbf{D} \cdot\mathrm{d}s= Q_f \\ \iint _\mathbb{S} \mathbf{B} \cdot\mathrm{d}s= 0 \\ {\oint}_{\mathbb{L}}^{} \mathbf{E} \cdot \mathrm{d}l=-\cfrac{\mathrm{d}\Phi _{\mathbf{B}}}{\mathrm{d}t } \\ {\oint}_{\mathbb{L}}^{} \mathbf{H} \cdot \mathrm{d}l=I_f+\cfrac{\mathrm{d}\Phi _{\mathbf{D}}}{\mathrm{d}t } \end{array} \right.$ - - -$\left\{ \begin{array}{l} \nabla \cdot \mathbf{D} =\rho \\ \nabla \cdot \mathbf{B} = 0 \\ \nabla \times \mathbf{E} = -\cfrac{\partial \mathbf{B}}{\partial t } \\ \nabla \times \mathbf{H} = \mathbf{J}_f + \cfrac{\partial \mathbf{D}}{\partial t } \end{array} \right.$ - -接下来,我们对这四个方程分别进行详细说明。 - -电场是个有源场,电荷是电场的源。电场的散度和电荷密度有关。 - -磁场是个无源场,散度为0。说明磁单极子不存在或还未发现。 - - - -方程左侧是磁场,右侧是电场。这个方程将变化的磁场和电场联系起来,同时也是电磁感应现象的原理。我们还能得到下列性质 - - - -式子的左侧是电流密度和电位移对时间的导数,说明: - - - - **3 边值关系** - -对于一个特定的问题,只知道描述物理场的方程是不能得到唯一解的。边值关系用于确定实际问题中的边界条件与衔接条件,这样才能得到电磁场的定解。 - -边值关系描述的是在两种介质的交界处,物理量(E、D、B、H)的 **切向和法向跃变** 情况,有如下四种。 - - -$\left\{ \begin{array}{l} \mathbf{e}_n \times(\mathbf{E}_2-\mathbf{E}_1)=0 \\ \mathbf{e}_n \times(\mathbf{H}_2-\mathbf{H}_1)=\mathbf{\alpha} \\ \mathbf{e}_n \cdot(\mathbf{D}_2-\mathbf{D}_1)=\sigma \\ \mathbf{e}_n \cdot(\mathbf{B}_2-\mathbf{B}_1)=0 \end{array} \right.$ - - **3.1 电场的跃变** - -结合图3.1和 $\mathbf{e}_n \times(\mathbf{E}_2-\mathbf{E}_1)=0$ ,可以发现, **电场强度切向分量是连续的,法向分量存在跃变** 。 - -通过取表面的一个圆柱体,可以利用高斯定理计算出切向分量的跃变。则电场强度的边值关系为, - - -$\left\{ \begin{array}{l} E_{t1}=E_{t2} \\ E_{n2}-E_{n1}=\frac{\sigma_f+\sigma_p}{\varepsilon_0} \end{array} \right.$ - -这里的 $\sigma_f$ 是自由电荷密度。 $\sigma_p$ 是束缚电荷密度。 - - - -同样地,根据高斯定理,得到D的法向跃变为, - - -$D_{n2}-D_{n1}=\sigma_f$ - -这些式子也蕴含了跃变的原因——介质表面出现自由电荷,这些 **电荷在导体表面产生电场** ,使得场量发生了跃变。 - - **3.2 磁场的跃变** - -结合图3.2。由 $\mathbf{e}_n \cdot(\mathbf{B}_2-\mathbf{B}_1)=0$ ,可以很明显地看出磁场在经过分界面之后, **法向分量连续,切向分量不连续** ,即, - - -$B_{n1}=B_{n2}$ - - - -在 $\mathbf{e}_n \times(\mathbf{H}_2-\mathbf{H}_1)=\mathbf{\alpha}$ 中, $\mathbf{\alpha}$ 为电流密度矢量。根据安培环路定理,磁场强度的切向跃变为, - - -$H_{n2}-H_{n1}=\alpha_f$ - -同时也说明, **面电流的分布** 导致了磁场场量的跃变。 - - **4 势场的边界条件** - -在解决实际问题时,我们通常不直接解有关电场强度或者磁场强度的方程,而是解关于势的二阶偏微分方程,即, - - -$\Delta \varphi=f$ (f为0时为拉普拉斯方程,不为0时为泊松方程) - -为了解这个稳定场方程,还需要足够的边界条件。所以我们还需要找出电势和磁势的边界条件。 - - **4.1 电势** - -根据第三节的分析,在分界面上,电场强度是有跃变的。但这个跃变是有限的,因此对于电荷在分界面上的微小位移,做功为, - - -$W=\Delta E\Delta x\rightarrow0$ - -因此在介质分界面上的电势是连续的,边界条件可以写为, - - -$\varphi_1=\varphi_2$ - - - -对于电位移矢量的边值关系,我们还能得到一条电势的边界条件。 - - -$D_1-D_2=\varepsilon_1E_1-\varepsilon_2E_2 =\varepsilon_2\frac{\partial\varphi_2}{\partial n}-\varepsilon_1\frac{\partial\varphi_1}{\partial n}=-\sigma$ - -综上,电势的边界条件为, - - -$\left\{ \begin{array}{l} \varphi_1=\varphi_2 \\ \varepsilon_2\frac{\partial\varphi_2}{\partial n}-\varepsilon_1\frac{\partial\varphi_1}{\partial n}=-\sigma \end{array} \right.$ - - **4.2 磁势** - -电势我们在电磁学中就已经接触过。类比一下电场,则磁场也可以有“势”的概念。但有一个问题——磁场是有旋度的,这使得磁场无法引入标势。 - -根据 $\nabla \times \mathbf{B} = \mu\mathbf{J}_f$ ,可以引入矢势 $\mathbf{A}$ ,使得 $\mathbf{B}= \nabla \times \mathbf{A}$ ,于是, - - -$\Delta\mathbf{A}=-\mu\mathbf{J}$ - -如果我们选取的空间区域包含电流,那么磁场就是个局域的无旋场,通过这样的方式,就可以和电场一样引入标势 $\varphi$ ,则, - - -$\Delta \varphi=-\frac{\rho}{\mu_0}$ - -磁矢势 **A** 的环路积分是磁通量,由于B的法向分量是连续的,所以A的法向分量也是连续的。 - -另外,选取库伦规范, $\nabla \cdot A=0$ ,使得切向分量连续(类比电场),综上可得, - - -$\mathbf{A_1}=\mathbf{A_2}$ - -磁标势的引入和电势相同,也有着类似的性质关系。 - - -$\left\{ \begin{array}{l} \varphi_1=\varphi_2 \\ \frac{\partial\varphi_2}{\partial n}-\frac{\partial\varphi_1}{\partial n}=-\alpha \end{array} \right.$ - -[拉格朗日L2:电动力学(二) | 利用MATLAB实现电磁场的可视化400 赞同 · 26 评论文章](https://zhuanlan.zhihu.com/p/390004533) - -[拉格朗日L2:Mathematica | 有阻力的天体运动问题-数值解42 赞同 · 12 评论文章](https://zhuanlan.zhihu.com/p/381822049) - -[拉格朗日L2:复变函数可视化 | 直观理解奇点与洛朗展开432 赞同 · 28 评论文章](https://zhuanlan.zhihu.com/p/355075115) - - - -
- -[https://zhuanlan.zhihu.com/p/389642864](https://zhuanlan.zhihu.com/p/389642864)
- - - diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/0.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/0.jpg deleted file mode 100644 index 00fceb5..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/0.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/1.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/1.jpg deleted file mode 100644 index 5c708ec..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/1.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/10.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/10.jpg deleted file mode 100644 index 7809c09..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/10.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/11.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/11.jpg deleted file mode 100644 index 3f4567c..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/11.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/2.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/2.jpg deleted file mode 100644 index 7bfdcab..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/2.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/2023-07-11_17_53・IP_属地中国.txt b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/2023-07-11_17_53・IP_属地中国.txt deleted file mode 100644 index c9a213f..0000000 --- a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/2023-07-11_17_53・IP_属地中国.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-07-11_17_53・IP_属地中国 -https://zhuanlan.zhihu.com/p/92905127 \ No newline at end of file diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/3.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/3.jpg deleted file mode 100644 index 835a0c1..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/3.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/4.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/4.jpg deleted file mode 100644 index 4864362..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/4.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/5.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/5.jpg deleted file mode 100644 index d0c697a..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/5.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/6.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/6.jpg deleted file mode 100644 index 49adf2c..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/6.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/7.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/7.jpg deleted file mode 100644 index 8d9c22b..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/7.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/8.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/8.jpg deleted file mode 100644 index cd464d4..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/8.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/9.jpg b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/9.jpg deleted file mode 100644 index 750c2db..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/9.jpg and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/波束合成——相控阵雷达的大杀器.pdf b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/波束合成——相控阵雷达的大杀器.pdf deleted file mode 100644 index 04e99a0..0000000 Binary files a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/波束合成——相控阵雷达的大杀器.pdf and /dev/null differ diff --git a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/波束合成——相控阵雷达的大杀器_formula_.md b/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/波束合成——相控阵雷达的大杀器_formula_.md deleted file mode 100644 index 918af7b..0000000 --- a/article/2023-07-11_17_53_波束合成——相控阵雷达的大杀器_IP_属地中国/波束合成——相控阵雷达的大杀器_formula_.md +++ /dev/null @@ -1,486 +0,0 @@ -# 波束合成——相控阵雷达的大杀器 - -[转载自](https://zhuanlan.zhihu.com/p/92905127) - -好久没有更新了,疫情让人宅的有点懒。那么直奔主题,今天我们来讲一讲波束合成技术。 - -这东西说实话,我当初学的时候挺累,太抽象又不好理解。看了好多书感觉都讲的不好,被一堆公式糊脸打趴下了。后来接触的多了回头再看,哎?这个其实很简单!(当然我说的是常规波束合成,要是深入下去还是有难度的) - -所以这篇文章的目的是我想按照我自己理解的方式来讲波束合成入门,希望可以帮助到刚接触雷达通信的小伙伴。再开始之前,我们先说说波束合成的优势,波束合成的好处就是电扫描,瞬间改变电磁波的传播方向,不像机械扫描的方式,非常的 (⊙_⊙) 嗯~ 笨重。 - -那么相控阵雷达扫描是怎么样的呢?电磁波是看不到的,但是我们可以用matlab仿真一下看看。 - - - -例如↑图,从-45°扫描到45°,只需要改变各个阵元的相位即可,但是怎么做到呢?开始我们今天的基础学习。 - - **相位的计算方法** - -那么还是同前面的文章一样,说到相位就要提复数,我们还是假设电磁波传播是螺旋形态的,水平方向是实部,垂直方向是虚部。复习一下前面的文章 - -[雷达信号仿真的基本原理——时延与相位的变化293 赞同 · 75 评论文章](https://zhuanlan.zhihu.com/p/100595803) - -借用一下自己前面文章的图 - - - -电磁波在空间中传播的相位信息是非常重要,可以说是整个雷达信号处理的核心,目标的速度,波束合成都需要这个,这里必须理解的非常清楚。我就不再赘述了,请大家看之前的文章复习 - - **一个阵元的天线方向图** - - **雷达天线接收到电磁波后他的幅度是复信号的模值** ,因此果大家相位的计算很清楚的话,我们会清楚的知道,空间中一个点发射一个复信号(1+0j),经过距离R后到达接收阵元的相位应该是 - - -$(1+0j)*e^{(R/\lambda)*2\pi}$ - -如果与之前的文章对比发现,之前指数项上是 $2R/\lambda$ ,这次是 $R/\lambda$ ,是因为信号没有出现往返. - -那么我们来按照这个情况做个天线方向图,那么问题来了, **雷达方向图怎么测量的?** - -实际测试的时候, **我们把雷达放在一个旋转平台上,然后远处放一个发射机,让雷达旋转360°测出雷达在各个角度上的接收强度。同理** , **天线方向图怎么测量,matlab仿真就怎么写!** - - **我们把雷达放在坐标** $(0,0)$ ** 原点上,然后把发射机放在** $(R*cos(\theta),R*sin(\theta))$ ** 距离雷达的距离为** $R$ ** ,并让发射机绕着雷达旋转一圈,也就是改变** $\theta$ ** ,记录并保存雷达的接收信号强度,就得到雷达的天线方向图了** .(注意这里要么雷达旋转发射机不转,要么发射机旋转雷达不转,这两个其实是一样的,相对坐标) - -那么我们假设用20Ghz来做仿真,并且发射机距离雷达1000m,当然电磁波是有衰减的,但是因为距离是固定值,所以衰减也是一个固定值,忽略不计,所以不考虑幅度影响的话,只对相位处理.开始代码部分. - - - -``` -%-------------------------------------------------------------------------- -% 初始化 -%-------------------------------------------------------------------------- -clear;clc; - -%-------------------------------------------------------------------------- -% 参数%-------------------------------------------------------------------------- -c = 3e8; %光速 -fc = 20e9; %频率 -lambda = c/fc; %波长 - -R = 1000; %放置信号发生源 - -Rx = []; -radar_pos = [0;0]; %雷达坐标 -step = 2; %步长 -for theta = 0:step:359 %让目标旋转360° - tgt_pos = [R*cosd(theta);R*sind(theta)]; %发射机坐标 - R = norm(tgt_pos - radar_pos); %获得镜像距离 - sig = 1.*exp(1j.*R/lambda * 2 * pi); %发射信号为1到达接收时候的强度 - Rx = [Rx sig]; %保存输出信号 - - %---------------------------------------------------------------------- - % 可视化 - %---------------------------------------------------------------------- - figure(1) - subplot(2,2,[1 3]) - plot(radar_pos(1),radar_pos(2),'bo',tgt_pos(1),tgt_pos(2),'ro'); - axis equal; - axis([-R R -R R]); - grid on; - title(['角度 -> ' num2str(theta)]) - - subplot(222) - plot(0:step:theta,db(Rx)); %db(x)相当于20*log10(abs(x)) - axis([0 359 -2 2]);grid on - title('天线方向图');xlabel('角度 °');ylabel('增益 db') - - subplot(224) - polarplot(deg2rad(0:step:theta),abs(Rx)); - title('极坐标天线方向图') - drawnow() -end -``` - - - - **两个阵元的天线方向图** - -那么如果我们放置2个阵元呢,这不就以此类推了嘛,两路接收到电磁波后我们直接合成成一路,那么两路信号直接矢量叠加后取模值 - -为了防止空间混叠,阵元间距要符合"空间奈奎斯特采样定理",就是说阵元最大间距是 $\lambda/2$ ,我们就假设两个阵元的坐标分别是 - - -$(\lambda/4,0)$ 和 $(-\lambda/4,0)$ ,这样他们2的间距刚好是 $\lambda/2$ 那么接收到电磁波的回波强度就是他们的复信号叠加.可以看到我们是按照X轴方向放置的天线阵元,因此他的指向理论上应该在Y轴最大 - -为了方便理解,2各通道的变量我会分开写,最后保存的时候做矢量叠加 - - - -``` -%-------------------------------------------------------------------------- -% 初始化 -%-------------------------------------------------------------------------- -clear;clc; - -%-------------------------------------------------------------------------- -% 参数%-------------------------------------------------------------------------- -c = 3e8; %光速 -fc = 20e9; %频率 -lambda = c/fc; %波长 -R = 1000; %放置信号发生源 -Rx1 = []; -Rx2 = []; -radar_pos = [lambda/4 -lambda/4;0 0]; %雷达阵元坐标 -step = 2; %步长 - -for theta = 0:step:359 %让目标旋转360° - tgt_pos = [R*cosd(theta);R*sind(theta)]; %发射机坐标 - - %---------------------------------------------------------------------- - % 两个阵元距离 - %---------------------------------------------------------------------- - R1 = norm(tgt_pos - radar_pos(:,1)); %获得镜像距离 - R2 = norm(tgt_pos - radar_pos(:,2)); %获得镜像距离 - - %---------------------------------------------------------------------- - % 两个接收相位 - %---------------------------------------------------------------------- - sig1 = 1.*exp(1j.*R1/lambda * 2 * pi); %发射信号为1到达接收时候的强度 - sig2 = 1.*exp(1j.*R2/lambda * 2 * pi); %发射信号为1到达接收时候的强度 - - Rx1 = [Rx1 sig1]; %保存输出信号 - Rx2 = [Rx2 sig2]; %保存输出信号 - - %---------------------------------------------------------------------- - % 复信号矢量叠加 - %---------------------------------------------------------------------- - Rx = Rx1 + Rx2; - %---------------------------------------------------------------------- - % 可视化 - %---------------------------------------------------------------------- - f1 = figure(1); - f1.Position = [215 361 1071 518]; - subplot(2,2,[1 3]) - plot(radar_pos(1),radar_pos(2),'bo',tgt_pos(1),tgt_pos(2),'ro'); - axis equal; - axis([-R R -R R]); - grid on; - title(['角度 -> ' num2str(theta)]) - - subplot(222) - plot(0:step:theta,db(Rx)); %db(x)相当于20*log10(abs(x)) - axis([0 359 -inf inf]);grid on - title('天线方向图');xlabel('角度 °');ylabel('增益 db') - - subplot(224) - polarplot(deg2rad(0:step:theta),abs(Rx)); - title('极坐标天线方向图') - drawnow() -end -``` - -我们来看下天线方向图 - - - - **多个阵元的天线方向图** - -是不是发现前面的很简单.我们现在仿真一个4通道的天线方向图看看,这里我会把代码修改成矩阵形式,直接出结果. - - - -``` -%-------------------------------------------------------------------------- -% 参数%-------------------------------------------------------------------------- -c = 3e8; %光速 -fc = 20e9; %频率 -lambda = c/fc; %波长 -R = 1000; %放置信号发生源 -Received = []; -radar_pos = [lambda/4+lambda/2 lambda/4 -lambda/4 -lambda/4-lambda/2;... - 0 0 0 0 ]; %雷达阵元坐标 -step = 2; %步长 - -for theta = 0:step:359 %让目标旋转360° - tgt_pos = [R*cosd(theta);R*sind(theta)]; %发射机坐标 - - %---------------------------------------------------------------------- - % 阵元距离 - %---------------------------------------------------------------------- - for idx = 1:size(radar_pos,2) - R_temp(:,idx) = norm(radar_pos(:,idx) - tgt_pos); - end - %---------------------------------------------------------------------- - % 接收相位 - %---------------------------------------------------------------------- - sig = 1.*exp(1j.*R_temp.'/lambda * 2 * pi); %发射信号为1到达接收时候的强度 - - Received = [Received sig]; %保存输出信号 - Rx = sum(Received); %矢量叠加 - %---------------------------------------------------------------------- - % 可视化 - %---------------------------------------------------------------------- - f1 = figure(1); - f1.Position = [215 361 1071 518]; - subplot(2,2,[1 3]) - plot(radar_pos(1),radar_pos(2),'bo',tgt_pos(1),tgt_pos(2),'ro'); - axis equal; - axis([-R R -R R]); - grid on; - title(['角度 -> ' num2str(theta)]) - - subplot(222) - plot(0:step:theta,db(Rx)); %db(x)相当于20*log10(abs(x)) - axis([0 359 -inf inf]);grid on - title('天线方向图');xlabel('角度 °');ylabel('增益 db') - - subplot(224) - polarplot(deg2rad(0:step:theta),abs(Rx)); - title('极坐标天线方向图') - drawnow() -end -``` - - - -聪明的你发现了什么? - -没错,我们只需要修改接收阵元的坐标,既可以仿真任意形态的天线方向图,也就是说,给出任意阵元的坐标按照如下排列(前面的坐标都是XY,这里改成了XYZ,这样子可以仿真三维天线方向图) - -radar_pos= $\begin{matrix} P_{x1} & P_{x2} & P_{x3} & ...\\ P_{y1} & P_{y2} & P_{y3} & ... \\ P_{z1} & P_{z2} & P_{z3} & ... \end{matrix}$ - - **也就是说,课本上什么线阵,圆振,共型振,各种奇形怪状的阵列都不需要看公式了,只需要按照格式排列阵元的坐标交给radar_pos就得到了天线方向图!非常方便!** - -然后我们计算发射信号源到雷达各个接收阵元的距离R,得到各个接收相位,直接叠加就是天线方向图! - -R要满足什么条件? 没错 远场假设,即来向电磁波为平行入射,1000m够了吧,不行你仿真做个10000m绝对没问题. - -那么我又有问题来了,肯定有的小伙伴会问导向矢量w怎么算? - -你思考思考,这里面其实已经有答案了,这里你暂停想一会,如果还没想通再往下看 - -好吧我来揭开答案 - - - -``` -theta = 45; %假设我要指45° -tgt_pos = [R*cosd(theta);R*sind(theta)]; %发射机坐标 - -%---------------------------------------------------------------------- -% 阵元距离 -%---------------------------------------------------------------------- -for idx = 1:size(radar_pos,2) - R_temp(:,idx) = norm(radar_pos(:,idx) - tgt_pos); -end -%---------------------------------------------------------------------- -% 接收相位 -%---------------------------------------------------------------------- -sig = 1.*exp(1j.*R_temp.'/lambda * 2 * pi); %发射信号为1到达接收时候的强度 -w = conj(sig); %导向矢量因为电磁波传播方向相反 -``` - -导向矢量是用来将电磁波指向信号的来向方向的,但是信号进来和发射是一个光学可逆的过程,即为信号来向的共轭,为什么? - -因为你要补偿相位差啊,所以信号来向的共轭刚好是让他的相位 $\theta$ 变成 $-\theta$ .即为矢量叠加,并且矢量叠加能量最大! - -换句话说,你补偿的相位就是该方向的电磁波平行入射时候相位添加个负号,这样子就让我的波束指向了这个位置, - -为什么呢?矢量叠加! - -假设四个阵元在45°上接受到的信号复数位置为红黄蓝绿表示 - - - -那么他们的矢量叠加即为红+黄+蓝+绿 = 黑 **,信号幅度就是黑色矢量的模值** - - - -乘以导向矢量w后,将红黄蓝绿信号复数搬移到一个指向方向 - -他们信号的复数平面如图 - - - -叠加后就是 - - - -此时的红+黄+蓝+绿 = 黑,黑色输出即矢量合成最长的时候,即 我接收信号乘以45°的导向矢量后,在45度能累加到最长的模值 **黑色最长** - -矢量叠加的时候我们先乘以导向矢量做复数旋转,然后再合成就ok了,上代码 - - - -``` -%-------------------------------------------------------------------------- -% 参数%-------------------------------------------------------------------------- -c = 3e8; %光速 -fc = 20e9; %频率 -lambda = c/fc; %波长 -R = 1000; %放置信号发生源 -Received = []; -radar_pos = [lambda/4+lambda/2 lambda/4 -lambda/4 -lambda/4 - lambda/2;... - 0 0 0 0 ]; %雷达阵元坐标 -step = 2; %步长 - -%-------------------------------------------------------------------------- -% 导向矢量计算 -%-------------------------------------------------------------------------- -theta = 45; %假设我要指向20° -tgt_pos = [R*cosd(theta);R*sind(theta)]; %发射机坐标 -for idx = 1:size(radar_pos,2) - R_temp(:,idx) = norm(radar_pos(:,idx) - tgt_pos); -end -sig = 1.*exp(1j.*R_temp.'/lambda * 2 * pi); %发射信号为1到达接收时候的强度 -w = conj(sig); %导向矢量因为电磁波传播方向相反 - -for theta = 0:step:359 %让目标旋转360° - tgt_pos = [R*cosd(theta) R*sind(theta)]'; %发射机坐标 - - %---------------------------------------------------------------------- - % 阵元距离 - %---------------------------------------------------------------------- - for idx = 1:size(radar_pos,2) - R_temp(:,idx) = norm(radar_pos(:,idx) - tgt_pos); - end - %---------------------------------------------------------------------- - % 接收相位 - %---------------------------------------------------------------------- - sig = 1.*exp(1j.*R_temp.'/lambda * 2 * pi); %发射信号为1到达接收时候的强度 - - %---------------------------------------------------------------------- - % 在这里乘以导向矢量保存 - %---------------------------------------------------------------------- - Received = [Received sig.*w]; %保存输出信号 - Rx = sum(Received); %矢量叠加 - %---------------------------------------------------------------------- - % 可视化 - %---------------------------------------------------------------------- - f1 = figure(1); - f1.Position = [215 361 1071 518]; - subplot(2,2,[1 3]) - plot(radar_pos(1),radar_pos(2),'bo',tgt_pos(1),tgt_pos(2),'ro'); - axis equal; - axis([-R R -R R]); - grid on; - title(['角度 -> ' num2str(theta)]) - - subplot(222) - plot(0:step:theta,db(Rx)); %db(x)相当于20*log10(abs(x)) - axis([0 359 -inf inf]);grid on - title('天线方向图');xlabel('角度 °');ylabel('增益 db') - - subplot(224) - polarplot(deg2rad(0:step:theta),abs(Rx)); - title('极坐标天线方向图') - drawnow() -end -``` - -我们看下天线方向图,确实按照我们的要求指向了45° - - - -当然雷达是有背板的,所以不可能出现360度,因此我们改下for循环的仿真范围为0~180度 - - - -这样子就完成了天线方向图了,我们来做一个让导向矢量循环的扫描,波束从0°到180°指向 - -将刚才的方向图计算打包成函数,在我的工具箱里面叫sp.array_pattern - - - -``` -%-------------------------------------------------------------------------- -% 初始化 -%-------------------------------------------------------------------------- -clear;clc; - -%-------------------------------------------------------------------------- -% 参数%-------------------------------------------------------------------------- -c = 3e8; %光速 -fc = 20e9; %频率 -lambda = c/fc; %波长 -R = 1000; %放置信号发生源 -Received = []; -radar_pos = [lambda/4+lambda/2 lambda/4 -lambda/4 -lambda/4 - lambda/2;... - 0 0 0 0 ; - 0 0 0 0]; %雷达阵元坐标 -step = 2; %步长 - -%-------------------------------------------------------------------------- -% 导向矢量计算 -%-------------------------------------------------------------------------- -for w_theta = 0:180 %假设我要指向20° - tgt_pos = [R*cosd(w_theta) R*sind(w_theta) 0]'; %发射机坐标 - for idx = 1:size(radar_pos,2) - R_temp(:,idx) = norm(radar_pos(:,idx) - tgt_pos); - end - sig = 1.*exp(1j.*R_temp.'/lambda * 2 * pi); %发射信号为1到达接收时候的强度 - w = conj(sig); %导向矢量因为电磁波传播方向相反 - - [theta_angle,E] = sp.array_pattern(radar_pos,lambda,w); %前面的一坨打包成函数 - - %---------------------------------------------------------------------- - % 可视化 - %---------------------------------------------------------------------- - f1 = figure(1); - f1.Position = [215 361 1071 518]; - subplot(121) - plot(theta_angle,db(sum(E,2))); %db(x)相当于20*log10(abs(x)) - axis([0 179 -inf inf]);grid on - title('天线方向图');xlabel('角度 °');ylabel('增益 db') - - subplot(122) - polarplot(deg2rad(theta_angle(1797:end)),abs(sum(E(1797:end,:),2))); - title('极坐标天线方向图') - drawnow() -end -``` - -我们来看下4阵元波束扫描0~180°的结果 - - - -不知道这样子来入门波束合成,会不会更容易理解呢?看懂了之后你现在再回头去看波束形成,就清楚多了 - - - - -最后我要补充一点,这么仿真和课本上区别。本质是一样的,区别在于课本是给出了解析解,例如给出线阵的结构,经过一定的推导,得到了天线方向图的解析式,即函数式。而这么仿真是离散解,我实在是不想算这个解析式,那我就一个点一个点的试,把所有的天线方向图测出来,实际怎么测,我就怎么仿真。 - -ok今天就到这里,我的工具箱sp.array_pattern - -[qwe14789cn/SP: 信号处理工具箱 (github.com)​github.com/qwe14789cn/SP](https://github.com/qwe14789cn/SP) - - - - -最后推荐大家一本书 - -我觉得是最好的入门雷达原理的神书,没有之一 - -[广告现代雷达系统分析与设计京东¥67.10去购买​](https://union-click.jd.com/jdc?e=jdext-1628920770490515456-0-1&p=JF8BAcEJK1olXgcAU11cAEsWA18IGloQWgUAUVxUCUwQB19MRANLAjZbERscSkAJHTRQRA1CCVkdDwtCWhVLHTdNTwcKBENeCVAfUg8bA24JHlwWXwMAXV9aD08AQ2N8YitwKXV9FioCaCtucAhWbFlxBWJmPBg9QBZhYW50XSxOLWVlDi4UfAMWZw0JSRtjL1xkNhcPTjxudwlxbzBCKX9yNic-XQhjehdtYDxpW2NKNyg6VxV_UQl0fyxPIkF2LTY-aDhvBRlqZzJ2FAcLNCcLbTxjdCpoGSdxPlx1EygvazxgSwxXbzJhOHJbJwAqVx1PMyRvUjMRKl0DNl5HQ1VqfRRMGEVGAkAOWG5dAUsVC24JG1wWbQYDVV5ZDUgUBW44K1sQbUdsVFxeDkIWM244G1wcXQYHUVZbDEwXC18IE18li6iWgdbi0fuy1cWmztaliI-pgODbOHsnAF9TTg9cGBoCU11UAEgWBWkJHlMUWQYGUVpaFEoLA18IGloXWgYKXVxeZk4XAm4JEl4dXgdsVl9cCkoSCmYPEmsVXjYBZAAzCRgRAW5bTFx7AFBRVw1VDUh5Bm8IE1kXXQ4yVl9cCkknMw) - -最后如果还有不足之处欢迎指正. - -转载请注明来源,谢谢~ - -qwe14789cn - -15 次咨询5.0 - - - -中国民航大学 信息与通信工程硕士 - -6926 次赞同 - - - -去咨询 - - - - - - - -
- -[https://zhuanlan.zhihu.com/p/92905127](https://zhuanlan.zhihu.com/p/92905127)
- - - diff --git a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/0.jpg b/article/2023-11-29_19_50_向量叉乘_IP_属地上海/0.jpg deleted file mode 100644 index 46bcb6a..0000000 Binary files a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/0.jpg and /dev/null differ diff --git a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/1.jpg b/article/2023-11-29_19_50_向量叉乘_IP_属地上海/1.jpg deleted file mode 100644 index bc89855..0000000 Binary files a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/1.jpg and /dev/null differ diff --git a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/2.jpg b/article/2023-11-29_19_50_向量叉乘_IP_属地上海/2.jpg deleted file mode 100644 index 5d105b0..0000000 Binary files a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/2.jpg and /dev/null differ diff --git a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/2023-11-29_19_50・IP_属地上海.txt b/article/2023-11-29_19_50_向量叉乘_IP_属地上海/2023-11-29_19_50・IP_属地上海.txt deleted file mode 100644 index 5fd62e9..0000000 --- a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/2023-11-29_19_50・IP_属地上海.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-11-29_19_50・IP_属地上海 -https://zhuanlan.zhihu.com/p/342679387 \ No newline at end of file diff --git a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/3.jpg b/article/2023-11-29_19_50_向量叉乘_IP_属地上海/3.jpg deleted file mode 100644 index 1390125..0000000 Binary files a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/3.jpg and /dev/null differ diff --git a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/4.jpg b/article/2023-11-29_19_50_向量叉乘_IP_属地上海/4.jpg deleted file mode 100644 index d109222..0000000 Binary files a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/4.jpg and /dev/null differ diff --git a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/5.jpg b/article/2023-11-29_19_50_向量叉乘_IP_属地上海/5.jpg deleted file mode 100644 index 7df77af..0000000 Binary files a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/5.jpg and /dev/null differ diff --git a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/向量叉乘.pdf b/article/2023-11-29_19_50_向量叉乘_IP_属地上海/向量叉乘.pdf deleted file mode 100644 index a93081f..0000000 Binary files a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/向量叉乘.pdf and /dev/null differ diff --git a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/向量叉乘_formula_.md b/article/2023-11-29_19_50_向量叉乘_IP_属地上海/向量叉乘_formula_.md deleted file mode 100644 index 09c0af1..0000000 --- a/article/2023-11-29_19_50_向量叉乘_IP_属地上海/向量叉乘_formula_.md +++ /dev/null @@ -1,287 +0,0 @@ -# 【回归本源】1.3-向量叉乘 - -[转载自](https://zhuanlan.zhihu.com/p/342679387) - -好的,今天麦子继续跟大家来讲讲两个向量的另一种乘法--叉乘 - - **注:同上篇一样,部分地方会用到矩阵,我们还没讨论过,我会在有矩阵的段落开头加上(*)做为标记,对矩阵不熟的朋友可以之后返回来看,但是不会也并不影响阅读。** - -## 叉乘(Cross Product) - -叉乘的结果就是一个 **向量** ,长这样 - - -$\vec v \times \vec u = \begin{pmatrix} v_y u_z - v_z u_y \\ v_z u_x - v_x u_z \\ v_x u_y - v_y u_x \end{pmatrix}$ , - -它的几何含义也非同寻常, $(\vec v \times \vec u)$ ** 代表着同时垂直于** $\vec v$ ** 和** $\vec u$ ** 的一个向量** ,换言之, $(\vec v \times \vec u)$ 是垂直于向量 $\vec v$ 和 $\vec u$ 所在平面的一个向量。这也是我们如何计算一个平面法向量, $\vec n$ ,的方法。而这个向量的大小,与点乘对应,可以被写成 - - -$\left| \vec v \times \vec u \right| = \left| \vec v \right| \left| \vec u \right| sin(\theta)$ , - - - -至于 **两种表达式数值相等** 的原因,麦子在这里简单写一写, - - -$\left| \vec v \times \vec u \right|^2 = (v_y u_z - v_z u_y)^2 + (v_z u_x - v_x u_z)^2 + (v_x u_y - v_y u_x)^2 \\ = (v_y^2 + v_z^2) u_x^2 + (v_x^2 + v_z^2) u_y^2 + (v_x^2 + v_y^2) u_z^2 - 2 v_x u_x v_y u_y - 2 v_x u_x v_z u_z - 2 v_y u_y v_z u_z$ , - -然后为了进一步简化公式,我们可以加上再减去 $(v_x^2 u_x^2 + v_y^2 u_y^2 + v_z^2 u_z^2)$ , - - -$\Rightarrow \left| \vec v \times \vec u \right|^2 = (v_x^2 + v_y^2 + v_z^2) (u_x^2 + u_y^2 + u_z^2) - (v_x u_x + v_y u_y + v_z u_z)^2 \\ \Rightarrow \left| \vec v \times \vec u \right|^2 = \left| \vec v \right|^2 \left| \vec u \right|^2 - (\vec v \cdot \vec u)^2$ - -没错,点乘也加入了其中,需要复习下的可以回看下上一篇 - -[【回归本源】1.2-向量点乘53 赞同 · 2 评论文章](https://zhuanlan.zhihu.com/p/342622957) - -而我们离最后的结论也之差临门一脚了: $cos^2(\theta) + sin^2(\theta) = 1$ , - - -$\Rightarrow \left| \vec v \times \vec u \right|^2 = \left| \vec v \right|^2 \left| \vec u \right|^2 - \left| \vec v \right|^2 \left| \vec u \right|^2 cos^2(\theta) = \left| \vec v \right|^2 \left| \vec u \right|^2 (1 - cos^2(\theta))$ , - -因此我们就有了这两个式子的数值关系了 - - -$\left| \vec v \times \vec u \right| = \left| \vec v \right| \left| \vec u \right| sin(\theta)$ , - -希望你能留意到,叉乘的这个推导里3D是必须条件。 - - - - -在上一讲我们也提到过 - -与之对应的, **叉乘的大小** 反映了两个向量有多“ **垂直** ”。 - -而上一讲中我们举过一个例子,是力与位移的乘积是做功,我们强调过,这实际上是个点乘。而叉乘的概念实际上初中的大家也接触过,除了做功,还有另一个物理量也是力和距离的乘积,那就是力矩(Moment)。相信你也猜到了,力矩就是一个叉乘概念。事实上,阿基米德意识到力矩的概念的时候还没有叉乘的概念,因此在叉乘出来后便有了另一个物理量来泛化力矩的概念,那就是转矩(Torque), $\vec \tau$ 。 - - - -以上,就是关于叉乘的一些基本介绍。但是如果你细细地品,不难发现麦子我埋了两个坑: - -首先是第一个问题。 - - **叉乘的方向是怎么确定的?** - -这里存在约定俗称的部分,我们一般使用的是 **右手参照系** 。这种定义方法并不是一定的,比如在Unity中就是采用左手参照系。 - -判断叉乘方向的方法也有很多种,每种都是等效的,但是基本上习惯了一种就不会再去学别的方法了。麦子这里只提一下自己的判断方法:右手螺线定则。(在右手参照系中) - - - -之所以大部分时候用右手参照系应该有两点原因(麦子的个人推测啊,有大神觉得我说的不正确并知道真实原因,欢迎留言指正一下),在数学中有两个大家都认的约定: - - - - - -因此在这个封闭图形的表面上,随意取两个不共线的向量,那么要同时满足上面两个条件的话,必须默认右手参照系。为了保证一致性,对于一个开放图形而言,也应该符合右手参照系。(至于为什么Unity一般默认为左手参照系,那就是另一个故事了,这个坑我们之后也会填上) - - - - -至于第二个问题,麦子决定放在文末。因为涉及大量数学推导,不感兴趣的朋友不看也罢。就请先相信麦子没坑你们吧。 - -这里我们来列举下叉乘所带来的向量性质吧。 - -同样的可以去证一证这些性质,其中 $(\vec v \times \vec u) \cdot \vec w$ 具有很重要的几何性质,我们会在下一讲,向量的最后一讲里提及到。在最后一个公式里 $\vec v^2 = (\vec v \cdot \vec v)$ 。 - - -$\vec v \times \vec v = \vec 0$ 则反映了当两个向量共线时,并不存在一个唯一的垂直向量。同时,另一种看法是: **两个向量所在平面上,由这两个向量所为围成的平行四边形面积为0** 。因为 $\left| \vec v \times \vec u \right| = \left| \vec v \right| \left| \vec u \right| sin(\theta)$ 代表一个平行四边形的面积(图一中的灰色面积)。 - - - - -回顾下第一篇文章中我们提到过单位向量,这个向量代表着一个特定的方向,且长度为1。 - -[【回归本源】1.1-向量简介23 赞同 · 6 评论文章](https://zhuanlan.zhihu.com/p/342138944) - -而我们也频繁得会用 $\begin{pmatrix} v_x \\ v_y \\ v_z \end{pmatrix}$ 来代表一个向量,那么不难意识到,有一组单位向量十分特殊: - - -$\hat i = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}; \hat j = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}; \hat k =\begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix}$ , - -这三个单位向量分别指向了 $x$ , $y$和 $z$ 方向。而且 - - -$\hat i \times \hat j = \hat k; \hat j \times \hat k = \hat i; \hat k \times \hat i = \hat j$ , - -这组关系你也可以用最上面麦子写的那个公式验证一下。由此可见,叉乘可以用来确定一个笛卡尔坐标系(Cartesian coordinate)。 - - - - -(*) 叉乘的公式可谓是又丑又长,肯定有小伙伴可以记住,但是麦子我是真记不住。这里就要说下叉乘的一种记忆方法了,这里需要借用下矩阵中行列式(Determinant)。 - - -$\vec v \times \vec u = \begin{vmatrix} \hat i & \hat j & \hat k \\ v_x & v_y & v_z \\ u_x & u_y & u_z \end{vmatrix}$ , - -同时这里简单介绍下这种行列式的求解方法。 - - - -因此 $\vec v \times \vec u = (v_y u_z - v_z u_y) \hat i + (v_z u_x - v_x u_z) \hat j + (v_x u_y - v_y u_x) \hat k = \begin{pmatrix} v_y u_z - v_z u_y \\ v_z u_x - v_x u_z \\ v_x u_y - v_y u_x \end{pmatrix}$ , - -注意下, **这种做法并非行列式的泛用解法,对于4D以及以上多维的行列式均不适用** ,但是对3D是没问题的,而且麦子觉得还容易,所以我常用。(对于行列式以及泛用解法我们会在之后的章节中提起) - -(*) 在计算机中,我们还常用另一个矩阵来一步到位地去求叉乘结果 - - -$\vec v \times \vec u = \mathbf{V} \mathbf{u} = \begin{bmatrix} 0 & -v_z & v_y \\ v_z & 0 & -v_x \\ -v_y & v_x & 0 \end{bmatrix} \begin{bmatrix} u_x \\ u_y \\ u_z \end{bmatrix}$ 。 - - - - -好的,老规矩,补齐下之前的那个Vector Class - - - -``` -class Vector_3d(object): - def __init__(self, x, y, z, ifTransposed=False): - # 默认是竖向量 - super(Vector_3d, self).__init__() - self.x = x - self.y = y - self.z = z - self.ifTransposed = ifTransposed - -# ...... - - def cross(self, another_vector): - assert type(another_vector) is Vector_3d - return Vector_3d( - self.y*another_vector.z - self.z*another_vector.y, - self.z*another_vector.x - self.x*another_vector.z, - self.x*another_vector.y - self.y*another_vector.x - ) - -def triangle_area(p1, p2, p3): - # 给三个坐标点(x, y, z),利用叉乘去判断三角形的面积大小 - # 希望你能自己想明白为什么是这样的。这个function默认所有p都是Vector_3d - v1 = p2 - p1 - v2 = p3 - p1 - return 1/2 * abs(v1.cross(v2)) -``` - -越往后我们这组代码将会越来越难调试(尤其是加上了矩阵的乘法后),麦子会继续尝试用这种逻辑方法写下去。但是为了更直接、快捷地使用,会在介绍完矩阵后更改为用Numpy的实现方式,之后尝试用我们写的Vector和Matrix去做一些图像学的操作,如光线追踪。一再强调,现实中别用Python搞这个, **太慢了** 。 - -想深入了解下Numpy的小伙伴可以看下这个 - -[图解NumPy:常用函数的内在机制205 赞同 · 6 评论文章](https://zhuanlan.zhihu.com/p/342356377) - -想用Python学图像的小伙伴可以了解下Taichi,不多解释,去看了就懂我为啥这么说了。 - -[太极语言官网​taichi.graphics/](https://taichi.graphics/) - - - - -好了,叉乘的介绍就到这里了,下一篇就是给向量收个尾了,会讲一些关于直线、平面等的定义,再之后就是矩阵了,有兴趣的小伙伴记得点个收藏哦! - -好的,这里就是一开始那个叉乘向量怎么来的过程了。这里我会写两个证明:第一个需要用到 $\hat i$ , $\hat j$ 和 $\hat k$ 以及叉乘的性质。第二个则是直接从叉乘的几何性质来的。第一个会更简单,但是逻辑上是不通的,因为你需要用叉乘的公式去证明叉乘的性质,因此不应该用其性质证明它的公式。第二个则会更泛化,因为它并没有一开始对坐标系进行任何限制以及不会用到任何你学过的叉乘性质。那,让我们开始吧! - - **第一种** - - -$\vec v \times \vec u = (v_x \hat i + v_y \hat j + v_z \hat k) \times (u_x \hat i + u_y \hat j + u_z \hat k) \\ = v_x u_x (\hat i \times \hat i) + v_x u_y (\hat i \times \hat j) + v_x u_z (\hat i \times \hat k) + \\ v_y u_x (\hat j \times \hat i) + v_y u_y (\hat j \times \hat j) + v_y u_z (\hat j \times \hat k) + \\ v_z u_x (\hat k \times \hat i) + v_z u_y (\hat k \times \hat j) + v_z u_z (\hat k \times \hat k)$ - -其中 因为共线,所以类似$(\hat i \times \hat i) = \vec 0$ 就排除了3项。而叉乘交换位置又会导致符号变化,例如$(\hat i \times \hat j) = -(\hat j \times \hat i)$ 。三个单位向量还互相垂直。因此 - - -$\vec v \times \vec u = (v_y u_z - v_z u_y) \hat i + (v_z u_x - v_x u_z) \hat j + (v_x u_y - v_y u_x) \hat k$ , - -也就有了我们一开始的公式了。一切看起来都很自然,我相信有很多朋友就是这样推导叉乘的。但是仔细一想就会明白,这个推导的第二步从 $(v_x \hat i + v_y \hat j + v_z \hat k) \times (u_x \hat i + u_y \hat j + u_z \hat k)$ 到下面用了乘法分配律,但是没有叉乘公式,怎么证明叉乘符合乘法分配律呢?因此, **不可取** 。 - - **第二种** - -那么就让我们从叉乘的几何意义着手吧。深吸一口气,我们开始吧! - -回忆一下,叉乘的几何含义是寻找同时垂直与两个向量的一个向量。我们在找$(\vec v \times \vec u)$ ,假设它的方向是 $\hat n$ ,我们有 - - -$\hat n = \frac{\vec v \times \vec u}{\left| \vec v \times \vec u \right|}$ , - -同时,我们还有 - - -$\vec v \cdot \hat n = 0 \\ \vec u \cdot \hat n = 0 \\ \left| \hat n \right|^2 = 1$ - -这三个条件,点乘为0意味着垂直,单位向量自然长度为1。进而我们得到了一个多项式组 - - -$v_x n_x + v_y n_y + v_z n_z = 0 \\ u_x n_x + u_y n_y + u_z n_z = 0 \\ n_x^2 + n_y^2 + n_z^2 = 1$ - -相比你也知道了,我们需要解这个多项式,你可以自己尝试下。麦子这里就把我写的过程打在这儿了,从第一个得到 - - -$n_z = - \frac{v_x}{v_z} n_x - \frac{v_y}{v_z} n_y$ - -代入第二个 - - -$u_x n_x + u_y n_y + u_z (- \frac{v_x}{v_z} n_x - \frac{v_y}{v_z} n_y) = 0 \\ \Rightarrow (u_x - u_z \frac{v_x}{v_z}) n_x = (u_z \frac{v_y}{v_z} - u_y) n_y \\ \times v_z \Rightarrow (v_z u_x - v_x u_z) n_x = (v_y u_z - v_z u_y) n_y \\ \Rightarrow n_y = (\frac{v_z u_x - v_x u_z}{v_y u_z - v_z u_y}) n_x$ - -再带回 $n_z$ , - - -$n_z = - \frac{v_x}{v_z} n_x - \frac{v_y}{v_z} (\frac{v_z u_x - v_x u_z}{v_y u_z - v_z u_y}) n_x \\ = -\frac{n_x}{v_z} (v_x + v_y(\frac{v_z u_x - v_x u_z}{v_y u_z - v_z u_y})) \\ = -\frac{n_x}{v_z} (\frac{v_x v_y u_z - v_x v_z u_y + v_y v_z u_x - v_x v_y u_z}{v_y u_z - v_z u_y})$ - -Nice,到了快乐的消项时间了 - - -$\Rightarrow n_z = (\frac{ v_x u_y - v_y u_x}{v_y u_z - v_z u_y}) n_x$ - -现在,我们可以把$n_y$ 和 $n_z$ 都代进第三个式子了 - - -$n_x^2 (1 + \frac{(v_z u_x - v_x u_z)^2}{(v_y u_z - v_z u_y)^2} + \frac{ (v_x u_y - v_y u_x)^2}{(v_y u_z - v_z u_y)^2}) = 1 \\ \Rightarrow n_x^2 (\frac{(v_y u_z - v_z u_y)^2 + (v_z u_x - v_x u_z)^2 + (v_x u_y - v_y u_x)^2}{(v_y u_z - v_z u_y)^2}) = 1$ - -到这里后,我们需要试着简化这个式子了,令 - - -$L^2 = (v_y u_z - v_z u_y)^2 + (v_z u_x - v_x u_z)^2 + (v_x u_y - v_y u_x)^2$ - -于是 - - -$n_x^2 = \frac{(v_y u_z - v_z u_y)^2}{L^2} \\ \Rightarrow n_x = \pm \frac{v_y u_z - v_z u_y}{L}$ - -怎么样?看到希望的曙光了吗?再代入我们之前算的$n_y$ 和 $n_z$ - - -$n_y = \pm \frac{v_z u_x - v_x u_z}{L} ; n_z = \pm \frac{v_x u_y - v_y u_x}{L}$ - -因此 - - -$\hat n = \pm \frac{1}{L} \begin{pmatrix} v_y u_z - v_z u_y \\ v_z u_x - v_x u_z \\ v_x u_y - v_y u_x \end{pmatrix}$ - -而 $L$ - - -$L = \sqrt{(v_y u_z - v_z u_y)^2 + (v_z u_x - v_x u_z)^2 + (v_x u_y - v_y u_x)^2}$ - -就应该是一个长度,是不是恰好更我们一开始写的那个式子对应上了呀! - - -$\hat n = \frac{\vec v \times \vec u}{\left| \vec v \times \vec u \right|}$ , - -其中 - - -$\vec v \times \vec u = \begin{pmatrix} v_y u_z - v_z u_y \\ v_z u_x - v_x u_z \\ v_x u_y - v_y u_x \end{pmatrix}$ , - - -$\left| \vec v \times \vec u \right| = \sqrt{(v_y u_z - v_z u_y)^2 + (v_z u_x - v_x u_z)^2 + (v_x u_y - v_y u_x)^2}$ , - -我们便有了我们一开始要求的东西。值得注意的就是那个正负号,说明了这个向量的方向是需要我们定义的,而正如正文里说的,我们的定义不过是一个约定俗成而已。 - -如果你耐心地自己证明了或过了一遍麦子我的证明过程,希望你对叉乘也更了解了一点,这个叉乘公式并不是随便提出来 - -
- -[https://zhuanlan.zhihu.com/p/342679387](https://zhuanlan.zhihu.com/p/342679387)
- - - diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/0.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/0.jpg deleted file mode 100644 index d1cf9b9..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/0.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/1.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/1.jpg deleted file mode 100644 index c48dc1a..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/1.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/10.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/10.jpg deleted file mode 100644 index 81e8739..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/10.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/11.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/11.jpg deleted file mode 100644 index 4a1faf0..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/11.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/12.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/12.jpg deleted file mode 100644 index a7978bc..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/12.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/13.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/13.jpg deleted file mode 100644 index 6b8e235..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/13.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/14.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/14.jpg deleted file mode 100644 index 430a46e..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/14.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2.jpg deleted file mode 100644 index 46155b9..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2023-12-17_13_56・IP_属地上海.txt b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2023-12-17_13_56・IP_属地上海.txt deleted file mode 100644 index e70d28b..0000000 --- a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2023-12-17_13_56・IP_属地上海.txt +++ /dev/null @@ -1,2 +0,0 @@ -2023-12-17_13_56・IP_属地上海 -https://zhuanlan.zhihu.com/p/665405974 \ No newline at end of file diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2D_游戏物理引擎_-_关节约束.pdf b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2D_游戏物理引擎_-_关节约束.pdf deleted file mode 100644 index aedbdba..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2D_游戏物理引擎_-_关节约束.pdf and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2D_游戏物理引擎_-_关节约束_formula_.md b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2D_游戏物理引擎_-_关节约束_formula_.md deleted file mode 100644 index cab62c3..0000000 --- a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/2D_游戏物理引擎_-_关节约束_formula_.md +++ /dev/null @@ -1,1232 +0,0 @@ -# 2D 游戏物理引擎 - 关节约束 - -[转载自](https://zhuanlan.zhihu.com/p/665405974) - -## 前言 - -在前面的文章中,我们提到了一些约束关节。这篇文章就试着整理 dyn4j 的 Blog 与 box2d 的源码,介绍一些关节约束的公式推导与实现。 - -本文涉及的公式可能比较多,不过都不复杂,具体的推导过程都已给出。 - -此外,为了与公式相对应,在本文中将对所有引用的 Box2D 代码进行微调,最终效果不变。 - -## 符号约定 - -本文最多涉及到两个刚体的关节约束,分别记为 $A,B$。具体的符号标注如下: - -在二维空间中,刚体位置与线速度表示为列向量,角度与角速度表示为一个常数,也就是: - - -$x_i=\left[ \begin{array}{c} x_{ix}\\ x_{iy}\\\end{array} \right] ,v_i=\left[ \begin{array}{c} v_{ix}\\ v_{iy}\\\end{array} \right] ,r_i=\left[ \begin{array}{c} r_{ix}\\ r_{iy}\\\end{array} \right]$ - -下标 $i$表示刚体 $A$或刚体 $B$。 - -## 点关节 - -点关节(Point Joint)是将两个刚体的约束点的距离限制为 0,但不影响两者的旋转。 - - - -如图所示,Point Joint 将约束刚体 $A,B$ 各自的点,使其相减之后就得到零向量 $\mathbf{0}\$,写出约束方程: - - -$C=x_A+r_A-x_B-r_B=\mathbf{0}$ - -与我们以往的做法相同,让约束方程 $C$对时间求导: - - -$\dot{C}=v_A+\omega _A\times r_A-v_B-\omega _B\times r_B=\mathbf{0}\$ - -为了方便表达,我们将叉乘操作将转化为向量,也就是: - - -$\omega _A\times r_A=\omega _Ar_{A}^{\left[ \times \right]}=\omega _A\left[ \begin{array}{c} -r_{ay}\\ r_{ax}\\\end{array} \right], r_{A}^{\left[ \times \right]} = \left[ \begin{array}{c} -r_{ay}\\ r_{ax}\\\end{array} \right]$ - -假设我们有一个冲量,施加给俩刚体后,使得约束得到满足。设冲量为 $\lambda \in \mathbb{R} ^2,\lambda =\left[ \begin{array}{c} \lambda _x\\ \lambda _y\\\end{array} \right]$,那么根据牛顿欧拉方程,我们得到: - - -$\begin{aligned} M_A\left( v_{A}^{\prime}-v_A \right) &=\lambda\\ M_B\left( v_{B}^{\prime}-v_B \right) &=-\lambda\\ I_A\left( \omega _{A}^{\prime}-\omega _A \right) &=r_A\times \lambda\\ I_B\left( \omega _{B}^{\prime}-\omega _B \right) &=-r_B\times \lambda\\\end{aligned}$ - -分离出模拟结束时的速度项: - - -$\begin{aligned} v_{A}^{\prime}&=v_A+M_{A}^{-1}\lambda\\ v_{B}^{\prime}&=v_B-M_{B}^{-1}\lambda\\ \omega _{A}^{\prime}&=\omega _A+I_{A}^{-1}\left( r_A\times \lambda \right)\\ \omega _{B}^{\prime}&=\omega _B-I_{B}^{-1}\left( r_B\times \lambda \right)\\\end{aligned}$ - -同样的,为了方便表达,叉乘操作将转化为向量内积: - - -$r_A\times \lambda =r_{ax}\lambda _y-r_{ay}\lambda _x=\left[ \begin{matrix} \lambda _x& \lambda _y\\\end{matrix} \right] \left[ \begin{array}{c} -r_{ay}\\ r_{ax}\\\end{array} \right] =\lambda ^{\top}r_{A}^{\left[ \times \right]}=\left( r_{A}^{\left[ \times \right]} \right) ^{\top}\lambda$ - -于是我们期望模拟结束后的速度就刚好能满足约束方程求导后的结果: - - -$v_{A}^{\prime}+\omega _{A}^{\prime}\times r_A-v_{B}^{\prime}-\omega _{B}^{\prime}\times r_B=\mathbf{0}$ - -结合上面模拟结束的速度项,展开写成: - - -$v_A+M_{A}^{-1}\lambda +\left( \omega _A+I_{A}^{-1}\left( r_A\times \lambda \right) \right) \times r_A-v_B+M_{B}^{-1}\lambda -\left( \omega _B-I_{B}^{-1}\left( r_B\times \lambda \right) \right) \times r_B=\mathbf{0}$ - -整理一下得到: - - -$v_A+\omega _Ar_{A}^{\left[ \times \right]}-v_B-\omega _Br_{B}^{\left[ \times \right]}+M_{A}^{-1}\lambda +M_{B}^{-1}\lambda +I_{A}^{-1}\left( r_{A}^{\left[ \times \right]} \right) ^{\top}\lambda r_{A}^{\left[ \times \right]}+I_{B}^{-1}\left( r_{B}^{\left[ \times \right]} \right) ^{\top}\lambda r_{B}^{\left[ \times \right]}=\mathbf{0}$ - -其中 $\left( r_{A}^{\left[ \times \right]} \right) ^{\top}\lambda r_{A}^{\left[ \times \right]}=r_{A}^{\left[ \times \right]}\left( r_{A}^{\left[ \times \right]} \right) ^{\top}\lambda$。 - -速度约束方程可以继续整理为: - - -$\left[ M_{A}^{-1}+M_{B}^{-1}+I_{A}^{-1}r_{A}^{\left[ \times \right]}\left( r_{A}^{\left[ \times \right]} \right) ^{\top}+I_{B}^{-1}r_{B}^{\left[ \times \right]}\left( r_{B}^{\left[ \times \right]} \right) ^{\top} \right] \lambda =-\left( v_A+\omega _Ar_{A}^{\left[ \times \right]}-v_B-\omega _Br_{B}^{\left[ \times \right]} \right)$ - -写成矩阵的形式就是: - - -$\left[ \begin{matrix} I& r_{A}^{\left[ \times \right]}& -I& -r_{B}^{\left[ \times \right]}\\\end{matrix} \right] \left[ \begin{matrix} M_{A}^{-1}& & & \\ & I_{A}^{-1}& & \\ & & M_{B}^{-1}& \\ & & & I_{B}^{-1}\\\end{matrix} \right] \left[ \begin{array}{c} I\\ \left( r_{A}^{\left[ \times \right]} \right) ^{\top}\\ -I\\ -\left( r_{B}^{\left[ \times \right]} \right) ^{\top}\\\end{array} \right] \lambda =-\left[ \begin{matrix} I& r_{A}^{\left[ \times \right]}& -I& -r_{B}^{\left[ \times \right]}\\\end{matrix} \right] \left[ \begin{array}{c} v_A\\ \omega _A\\ v_B\\ \omega _B\\\end{array} \right]$ - -我们可以把各个矩阵分别记为: - - -$J=\left[ \begin{matrix} I& r_{A}^{\left[ \times \right]}& -I& -r_{B}^{\left[ \times \right]}\\\end{matrix} \right] ,M^{-1}=\left[ \begin{matrix} M_{A}^{-1}& & & \\ & I_{A}^{-1}& & \\ & & M_{B}^{-1}& \\ & & & I_{B}^{-1}\\\end{matrix} \right] ,V=\left[ \begin{array}{c} v_A\\ \omega _A\\ v_B\\ \omega _B\\\end{array} \right]$ - -那么整个式子就能写为: - - -$JM^{-1}J^{\top}\lambda =-JV$ - -最终的冲量就可以表示为: - - -$\lambda =\left( JM^{-1}J^{\top} \right) ^{-1}\left( -JV \right)$ - -为了方便在代码中实现,我们在这里将$JM^{-1}J^{\top}\$展开得到: - - -$JM^{-1}J^{\top}=\left[ \begin{matrix} m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ay}r_{ay}+I_{B}^{-1}r_{by}r_{by}& -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}\\ -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}& m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ay}r_{ay}+I_{B}^{-1}r_{by}r_{by}\\\end{matrix} \right]$ - -### 关节软化 - -我们在之前的文章中就提到了软约束的基本概念: - -[2D 游戏物理引擎 - 软约束50 赞同 · 8 评论文章](https://zhuanlan.zhihu.com/p/418875294) - -在我们刚才推导出来的点关节,它其实是一种硬约束(Hard Constraint)。 - -在实际的过程中,由于 $\lambda$ 的求解与相对速度有关。在两者静止的初始条件下,施加关节约束力,那么得到的 $\lambda$ 将会是零向量,也就起不到约束的作用。因此,对点关节的软化就是使用一个弹簧阻尼器(Spring Damper)来链接刚体上的两个点。 - -参考《Contact and Friction Simulation for Computer Graphics》1.9 小节,我们可以导出最终的约束力表达式: - - -$JV^{\prime}+\left( \cfrac{1}{h^2k+hb} \right) \lambda =\left( \cfrac{hk}{hk+b} \right) \cfrac{-\phi}{h} \\ \lambda =-k\phi ^+-bv^+$ - -其中: - -根据 $JV^{\prime}=JM^{-1}J^{\top}\lambda +JV$,我们可以将式子进一步整理为: - - -$JM^{-1}J^{\top}\lambda +\left( \cfrac{1}{h^2k+hb} \right) \lambda =-JV+\left( \cfrac{hk}{hk+b} \right) \cfrac{-\phi}{h}$ - -我们令: - - -$\gamma =\cfrac{1}{hk+b},\epsilon=\cfrac{hk}{hk+b}$ - -其中 $\gamma,\epsilon$ 分别是 ODE 官方文档所说的约束力混合系数( Constraint Force Mixing, **CFM** )与误差修正系数( Error Reduction Parameter, **ERP** )。 - -上述等式可以进一步写为: - - -$JM^{-1}J^{\top}\lambda +\gamma I\lambda =-JV+\epsilon\frac{-\phi}{h}$ - -等式左边可以利用之前的$JM^{-1}J^{\top}\$展开项,然后与$\epsilon I\$项相加得到: - - -$\left[ \begin{matrix} m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ay}r_{ay}+I_{B}^{-1}r_{by}r_{by}+\color{green}{\gamma}& -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}\\ -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}& m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ax}r_{ax}+I_{B}^{-1}r_{bx}r_{bx}+\color{green}{\gamma}\\ \end{matrix} \right] \lambda =-JV+v\frac{-\phi}{h}$ - -可以观察到原本的 $JM^{-1}J^{\top}$ 矩阵的对角线加上了 $\gamma$ 。如果 $\gamma>0$,$\gamma$ 可以视作是一个正则化系数,使矩阵条件数得到改善,能更“安全”地计算$\left(JM^{-1}J^{\top}\right)^{-1}$。 - -我们在上一篇文章中说到,在 Box2D 的实现中,所有通过类似上述 $\lambda\$的表达式计算得出的是冲量的 **增量** 。如果在求解两个刚体关节约束的软化中,这两个刚体还有其他的关节约束,根据: - -[](https://pybullet.org/Bullet/phpBB3/viewtopic.php%3Ff%3D4%26amp%3Bt%3D1354) - -不同的约束求解都在施加符合自身条件的冲量增量,最终会导致扰动过多,出现较为明显的震荡和抖动。 - -假设 $\boldsymbol{\lambda}$ 表示的是累加的冲量,$V,V^{\prime}$ 分别为施加冲量增量前后的约束点相对速度,$\Delta \lambda$ 为冲量增量: - - -$M\left( V^{\prime}-V \right) =J^{\top}\left( \Delta \lambda \right)$ - -我们希望最终得到的总冲量 $\boldsymbol{\lambda} + \Delta \lambda\$能够使得$V^{\prime}\$满足: - - -$JV^{\prime}+\gamma \left( \boldsymbol{\lambda }+\Delta \lambda \right) +\epsilon \frac{\phi}{h}=\mathbf{0}$ - -也就是我们一开始所说的约束力表达式。结合上面两个式子,分离出 $\Delta \lambda\$: - - -$JV^{\prime}=JV+JM^{-1}J^{\top}\Delta \lambda \\ JV+JM^{-1}J^{\top}\Delta \lambda +\gamma \left( \boldsymbol{\lambda }+\Delta \lambda \right) +\epsilon \frac{\phi}{h}=\mathbf{0} \\ \Delta \lambda =\left( JM^{-1}J^{\top}+\gamma I \right) ^{-1}\left( -JV-\epsilon \frac{\phi}{h}-\color{green}{\gamma \boldsymbol{\lambda}} \right)$ - -在代码中表示如下,其中 ​ 是 $JV\$,​ 为 $\epsilon\cfrac{\phi}{h}$,​ 就是上面的 $\gamma \boldsymbol{\lambda}$。 - - - -``` -b2Vec2 vB = data.velocities[m_indexB].v; -float wB = data.velocities[m_indexB].w; - -// Cdot = v + cross(w, r) -b2Vec2 Cdot = vB + b2Cross(wB, m_rB); -b2Vec2 impulse = b2Mul(m_mass, -(Cdot + m_C + m_gamma * m_impulse)); - -//... - -``` - -当所有的约束逐渐稳定的时候,$\Delta \lambda$ 的大小也逐渐趋于 $0$。 - -关节软化中的 $k,b$ 可以通过自动控制原理中二阶系统的部分,导出阻尼比 $\xi$ 与阻尼频率 $f$ 两个最常用的调节参数: - - -$\begin{aligned} w_n&=\sqrt{\frac{k}{m}}\\ \xi &=\frac{b}{2\sqrt{km}}=\frac{b}{2m\omega _n}\\ f&=\frac{\omega _n}{2\pi}\Rightarrow k=m\omega _{n}^{2},b=2m\omega _n\xi\\ \end{aligned}$ - -具体实现如下,其中 ​ 为 $\omega_n$, 为 $k$,​ 为 $\xi$ 。 - - - -``` -void b2LinearStiffness(float& stiffness, float& damping, - float frequencyHertz, float dampingRatio, - const b2Body* bodyA, const b2Body* bodyB) -{ - float mass; - //calculate mass ... - - float omega = 2.0f * b2_pi * frequencyHertz; - stiffness = mass * omega * omega; - damping = 2.0f * mass * dampingRatio * omega; -} - -``` - -## 角度关节 - -角度关节(Angular Joint)限制两个刚体的角度差,不影响两者的平动。 - - - -如图所示,Angular Joint 使刚体 $A$ 与 $B\$的角度差固定为 $\alpha$,写出约束方程: - - -$C=o_A - o_B -\alpha =0$ - -求导得: - - -$\dot{C}=\omega _A - \omega_B$ - -写出力矩与角速度方程: - - -$\begin{aligned} I_A\left( \omega _{A}^{\prime}-\omega _A \right) &=\tau\\ I_B\left( \omega _{B}^{\prime}-\omega _B \right) &=-\tau\\ \end{aligned}$ - -我们希望施加力矩后的角速度满足约束方程: - - -$\omega _{A}^{\prime}-\omega _{B}^{\prime}\Rightarrow \omega _A+I_{A}^{-1}\tau -\omega _B+I_{B}^{-1}\tau =0$ - -令: - - -$J=\left[ \begin{matrix} 0& I& 0& -I\\ \end{matrix} \right] ,M^{-1}=\left[ \begin{matrix} 0& & & \\ & I_{A}^{-1}& & \\ & & 0& \\ & & & I_{B}^{-1}\\ \end{matrix} \right] ,V=\left[ \begin{array}{c} v_A\\ \omega _A\\ v_B\\ \omega _B\\ \end{array} \right]$ - -我们得到最终的约束方程: - - -$\begin{array}{c} \left( I_{A}^{-1}+I_{B}^{-1} \right) \tau =-\left( \omega _A-\omega _B \right)\\ JM^{-1}J^{\top}\tau =-JV\\ \end{array}$ - -利用 Baumgarte Stablization,令偏差因子为 $\beta$,那么误差修正速度项为: - - -$b=-\beta\frac{C}{h}$ - -这是为了解决当静止的时候,添加的关节约束会无法计算得有效的 $\tau\$。这与我们在之前的接触点约束求解类似,这个偏差项可以视作一个比例控制器,通过调整比例系数,控制修正量。 - -将偏差项代入最终的约束方程,求解得到最终的力矩$\tau\$: - - -$JM^{-1}J^{\top} \tau = -JV + b$ - -## 焊接关节 - -焊接关节(Weld Joint)是将点关节与角度关节合并后的关节约束。它既限制两刚体约束点的距离,也限制它们的旋转,通俗来说就是将两个刚体“粘”在一起。 - - - -如图所示,Weld Joint 的约束方程表示如下: - - -$\begin{aligned} C_1&=x_A+r_A-x_B-r_B=\mathbf{0}\\ C_2&=o_A-o_B-\alpha =0\\ \end{aligned}$ - -求导后得到: - - -$\begin{aligned} \dot{C}_1&=v_A+\omega _A\times r_A-v_B-\omega _B\times r_B=\mathbf{0}\\ \dot{C}_2&=\omega _A-\omega _B=0\\ \end{aligned}$ - -根据牛顿-欧拉方程,我们希望焊接约束能够得到一个约束力和力矩,使两个刚体能满足要求: - - -$\begin{aligned} M_A\left( v_{A}^{\prime}-v_A \right) &=\lambda\\ M_B\left( v_{B}^{\prime}-v_B \right) &=-\lambda\\ I_A\left( \omega _{A}^{\prime}-\omega _A \right) &=r_A\times \lambda +\tau\\ I_B\left( \omega _{B}^{\prime}-\omega _B \right) &=-r_B\times \lambda -\tau\\ \end{aligned}$ - -分离出模拟结束后的速度: - - -$\begin{aligned} v_{A}^{\prime}&=v_A+M_{A}^{-1}\lambda\\ v_{B}^{\prime}&=v_B-M_{B}^{-1}\lambda\\ \omega _{A}^{\prime}&=\omega _A+I_{A}^{-1}\left( r_A\times \lambda +\tau \right)\\ \omega _{B}^{\prime}&=\omega _B-I_{B}^{-1}\left( r_B\times \lambda +\tau \right)\\ \end{aligned}$ - -同样地,我们期望模拟结束后的速度满足约束方程: - - -$\begin{array}{r} v_{A}^{\prime}+\omega _{A}^{\prime}\times r_A-v_{B}^{\prime}-\omega _{B}^{\prime}\times r_B=\mathbf{0}\\ \omega _{A}^{\prime}-\omega _{B}^{\prime}=0\\ \end{array}$ - -整理上面的式子我们可以得到: - - -$\begin{aligned} v_A+M_{A}^{-1}\lambda +\left( \omega _A+I_{A}^{-1}\left( r_A\times \lambda +\tau \right) \right) \times r_A-v_B+M_{B}^{-1}\lambda -\left( \omega _B-I_{B}^{-1}\left( r_B\times \lambda +\tau \right) \right) \times r_B&=\mathbf{0}\\ \omega _A+I_{A}^{-1}\left( r_A\times \lambda +\tau \right) -\omega _B+I_{B}^{-1}\left( r_B\times \lambda +\tau \right) &=0\\ \end{aligned}$ - -进一步整理式子: - - -$\begin{aligned} \left( M_{A}^{-1}+M_{B}^{-1}+I_{A}^{-1}r_{A}^{\left[ \times \right]}\left( r_{A}^{\left[ \times \right]} \right) ^{\top}+I_{B}^{-1}r_{B}^{\left[ \times \right]}\left( r_{B}^{\left[ \times \right]} \right) ^{\top} \right) \lambda +\left( I_{A}^{-1}r_{A}^{\left[ \times \right]}+I_{B}^{-1}r_{B}^{\left[ \times \right]} \right) \tau &=-\left( v_A+\omega _Ar_{A}^{\left[ \times \right]}-v_B-\omega _Br_{B}^{\left[ \times \right]} \right)\\ \left( I_{A}^{-1}\left( r_{A}^{\left[ \times \right]} \right) ^{\top}+I_{B}^{-1}\left( r_{B}^{\left[ \times \right]} \right) ^{\top} \right) \lambda +\left( I_{A}^{-1}+I_{B}^{-1} \right) \tau &=-\left( \omega _A-\omega _B \right)\\ \end{aligned}$ - -为了将约束统一表达为 $JM^{-1}J^{\top}$的形式,方便观察雅可比矩阵的形状,令 $x=\left[ \begin{array}{c} \lambda\\ \tau\\\end{array} \right] =\left[ \begin{array}{c} \lambda _x\\ \lambda _y\\ \tau\\\end{array} \right]$,: - - -$\begin{aligned} \left[ \begin{matrix} I& r_{A}^{\left[ \times \right]}& -I& -r_{B}^{\left[ \times \right]}\\ \end{matrix} \right] \left[ \begin{matrix} M_{A}^{-1}& & & \\ & I_{A}^{-1}& & \\ & & M_{B}^{-1}& \\ & & & I_{B}^{-1}\\ \end{matrix} \right] \left[ \begin{array}{c} I\\ \left( r_{A}^{\left[ \times \right]} \right) ^{\top}\\ -I\\ -\left( r_{B}^{\left[ \times \right]} \right) ^{\top}\\ \end{array} \right] \lambda +\left[ \begin{matrix} I& r_{A}^{\left[ \times \right]}& -I& -r_{B}^{\left[ \times \right]}\\ \end{matrix} \right] \left[ \begin{matrix} M_{A}^{-1}& & & \\ & I_{A}^{-1}& & \\ & & M_{B}^{-1}& \\ & & & I_{B}^{-1}\\ \end{matrix} \right] \left[ \begin{array}{c} 0\\ I\\ 0\\ -I\\ \end{array} \right] \tau &=-\left[ \begin{matrix} I& r_{A}^{\left[ \times \right]}& -I& -r_{B}^{\left[ \times \right]}\\ \end{matrix} \right] \left[ \begin{array}{c} v_A\\ \omega _A\\ v_B\\ \omega _B\\ \end{array} \right]\\ \left[ \begin{matrix} 0& I& 0& -I\\ \end{matrix} \right] \left[ \begin{matrix} M_{A}^{-1}& & & \\ & I_{A}^{-1}& & \\ & & M_{B}^{-1}& \\ & & & I_{B}^{-1}\\ \end{matrix} \right] \left[ \begin{array}{c} I\\ \left( r_{A}^{\left[ \times \right]} \right) ^{\top}\\ -I\\ -\left( r_{B}^{\left[ \times \right]} \right) ^{\top}\\ \end{array} \right] \lambda +\left[ \begin{matrix} 0& I& 0& -I\\ \end{matrix} \right] \left[ \begin{matrix} M_{A}^{-1}& & & \\ & I_{A}^{-1}& & \\ & & M_{B}^{-1}& \\ & & & I_{B}^{-1}\\ \end{matrix} \right] \left[ \begin{array}{c} 0\\ I\\ 0\\ -I\\ \end{array} \right] \tau &=-\left[ \begin{matrix} 0& I& 0& -I\\ \end{matrix} \right] \left[ \begin{array}{c} v_A\\ \omega _A\\ v_B\\ \omega _B\\ \end{array} \right]\\ \end{aligned}$ - -我们按照 $JM^{-1}J^{\top} x = -JV$的格式,得到最终的雅可比矩阵: - - -$J=\left[ \begin{array}{l} I& r_{A}^{\left[ \times \right]}& -I& -r_{B}^{\left[ \times \right]}\\ 0& I& 0& -I\\ \end{array} \right]$ - -在实现的过程中,我们不需要分离出 $JM^{-1}J^{\top}$,只需要最后一步整理得到的式子并构造最终的矩阵表达式: - - -$\left[ \begin{matrix} M_{A}^{-1}+I_{A}^{-1}r_{A}^{\left[ \times \right]}\left( r_{A}^{\left[ \times \right]} \right) ^{\top}+M_{B}^{-1}+I_{B}^{-1}r_{B}^{\left[ \times \right]}\left( r_{B}^{\left[ \times \right]} \right) ^{\top}& I_{A}^{-1}r_{A}^{\left[ \times \right]}+I_{B}^{-1}r_{B}^{\left[ \times \right]}\\ I_{A}^{-1}\left( r_{A}^{\left[ \times \right]} \right) ^{\top}+I_{B}^{-1}\left( r_{B}^{\left[ \times \right]} \right) ^{\top}& I_{A}^{-1}+I_{B}^{-1}\\ \end{matrix} \right] \left[ \begin{array}{c} \lambda\\ \tau\\ \end{array} \right] =-\left[ \begin{array}{l} I& r_{A}^{\left[ \times \right]}& -I& -r_{B}^{\left[ \times \right]}\\ 0& I& 0& -I\\ \end{array} \right] \left[ \begin{array}{c} v_A\\ \omega _A\\ v_B\\ \omega _B\\ \end{array} \right]$ - -其中,$JM^{-1}J^{\top}$的展开结果: - - -$\left[ \begin{matrix} \left[ \begin{matrix} m_{A}^{-1}& \\ & m_{A}^{-1}\\ \end{matrix} \right] +\left[ \begin{matrix} m_{B}^{-1}& \\ & m_{B}^{-1}\\ \end{matrix} \right] +I_{A}^{-1}\left[ \begin{matrix} r_{ay}r_{ay}& -r_{ax}r_{ay}\\ -r_{ax}r_{ay}& r_{ax}r_{ax}\\ \end{matrix} \right] +I_{B}^{-1}\left[ \begin{matrix} r_{by}r_{by}& -r_{bx}r_{by}\\ -r_{bx}r_{by}& r_{bx}r_{bx}\\ \end{matrix} \right]& I_{A}^{-1}\left[ \begin{array}{c} -r_{ay}\\ r_{ax}\\ \end{array} \right] +I_{B}^{-1}\left[ \begin{array}{c} -r_{by}\\ r_{bx}\\ \end{array} \right]\\ I_{A}^{-1}\left[ \begin{matrix} -r_{ay}& r_{ax}\\ \end{matrix} \right] +I_{B}^{-1}\left[ \begin{matrix} -r_{by}& r_{bx}\\ \end{matrix} \right]& I_{A}^{-1}+I_{B}^{-1}\\ \end{matrix} \right] \left[ \begin{array}{c} \lambda\\ \tau\\ \end{array} \right]$ - -进一步展开得到: - - -$\left[ \begin{matrix} \left[ \begin{matrix} m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ay}r_{ay}+I_{B}^{-1}r_{by}r_{by}& -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}\\ -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}& m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ax}r_{ax}+I_{B}^{-1}r_{bx}r_{bx}\\ \end{matrix} \right]& \left[ \begin{array}{c} -I_{A}^{-1}r_{ay}-I_{B}^{-1}r_{by}\\ I_{A}^{-1}r_{ax}+I_{B}^{-1}r_{bx}\\ \end{array} \right]\\ \left[ \begin{matrix} -I_{A}^{-1}r_{ay}-I_{B}^{-1}r_{by}& I_{A}^{-1}r_{ax}+I_{B}^{-1}r_{bx}\\ \end{matrix} \right]& I_{A}^{-1}+I_{B}^{-1}\\ \end{matrix} \right] \left[ \begin{array}{c} \lambda _x\\ \lambda _y\\ \tau\\ \end{array} \right]$ - -将大矩阵中的各个小矩阵进行维度对齐,那么最终的$JM^{-1}J^{\top}$就是一个$3\times3$的矩阵: - - -$\left[ \begin{matrix} m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ay}r_{ay}+I_{B}^{-1}r_{by}r_{by}& -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}& -I_{A}^{-1}r_{ay}-I_{B}^{-1}r_{by}\\ -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}& m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ax}r_{ax}+I_{B}^{-1}r_{bx}r_{bx}& I_{A}^{-1}r_{ax}+I_{B}^{-1}r_{bx}\\ -I_{A}^{-1}r_{ay}-I_{B}^{-1}r_{by}& I_{A}^{-1}r_{ax}+I_{B}^{-1}r_{bx}& I_{A}^{-1}+I_{B}^{-1}\\ \end{matrix} \right] \left[ \begin{array}{c} \lambda _x\\ \lambda _y\\ \tau\\ \end{array} \right]$ - -在代码中,可利用 $JM^{-1}J^{\top}$的对称性减少计算: - - - -``` -float mA = m_invMassA, mB = m_invMassB; -float iA = m_invIA, iB = m_invIB; - -b2Mat33 K; -K.ex.x = mA + mB + m_rA.y * m_rA.y * iA + m_rB.y * m_rB.y * iB; -K.ey.x = -m_rA.y * m_rA.x * iA - m_rB.y * m_rB.x * iB; -K.ez.x = -m_rA.y * iA - m_rB.y * iB; -K.ex.y = K.ey.x; -K.ey.y = mA + mB + m_rA.x * m_rA.x * iA + m_rB.x * m_rB.x * iB; -K.ez.y = m_rA.x * iA + m_rB.x * iB; -K.ex.z = K.ez.x; -K.ey.z = K.ez.y; -K.ez.z = iA + iB; - -``` - -Weld Joint 支持软化,软化后的 $JM^{-1}J^{\top}$将退化为分别求解点约束与角度约束,也就是只保留对角线: - - -$\left[ \begin{matrix} \left[ \begin{matrix} m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ay}r_{ay}+I_{B}^{-1}r_{by}r_{by}& -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}\\ -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}& m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ax}r_{ax}+I_{B}^{-1}r_{bx}r_{bx}\\ \end{matrix} \right]& \left[ \begin{array}{c} 0\\ 0\\ \end{array} \right]\\ \left[ \begin{matrix} 0& 0\\ \end{matrix} \right]& I_{A}^{-1}+I_{B}^{-1}\\ \end{matrix} \right]$ - -代码中的 ​​ 得到的 ​​ 就是左上角矩阵的逆,​​ 为角度约束的偏差项,即 $\alpha\$。 - - - -``` -if (m_stiffness > 0.0f) -{ - K.GetInverse22(&m_mass); - - float invM = iA + iB; - - float C = aA - aB - m_referenceAngle; - - //generate CFM(m_gamma) and ERP(m_bias)... - - invM += m_gamma; - m_mass.ez.z = invM != 0.0f ? 1.0f / invM : 0.0f; -} - -``` - -在速度约束中,Weld Joint 先求解符合角度约束的力矩 ,再求解约束点的冲量。软化的 Weld Joint 将与之前的点关节软化的步骤相同,不同的是 Weld Joint 只对角度约束进行软化: - - - -``` -if (m_stiffness > 0.0f) -{ - float Cdot2 = wB - wA; - - float impulse2 = -m_mass.ez.z * (Cdot2 + m_bias + m_gamma * m_impulse.z); - m_impulse.z += impulse2; - - wA -= iA * impulse2; - wB += iB * impulse2; - - b2Vec2 Cdot1 = vB + b2Cross(wB, m_rB) - vA - b2Cross(wA, m_rA); - - b2Vec2 impulse1 = -b2Mul22(m_mass, Cdot1); - m_impulse.x += impulse1.x; - m_impulse.y += impulse1.y; - - b2Vec2 P = impulse1; - - vA -= mA * P; - wA -= iA * b2Cross(m_rA, P); - - vB += mB * P; - wB += iB * b2Cross(m_rB, P); -} -else -{ - b2Vec2 Cdot1 = vB + b2Cross(wB, m_rB) - vA - b2Cross(wA, m_rA); - float Cdot2 = wB - wA; - b2Vec3 Cdot(Cdot1.x, Cdot1.y, Cdot2); - - b2Vec3 impulse = -b2Mul(m_mass, Cdot); - m_impulse += impulse; - - b2Vec2 P(impulse.x, impulse.y); - - vA -= mA * P; - wA -= iA * (b2Cross(m_rA, P) + impulse.z); - - vB += mB * P; - wB += iB * (b2Cross(m_rB, P) + impulse.z); -} - -``` - -在位置迭代中,Weld Joint 将对两个约束点的距离进行限制: - - - -``` -if (m_stiffness > 0.0f) -{ - b2Vec2 C1 = cA + rA - cB - rB; - - positionError = C1.Length(); - angularError = 0.0f; - - b2Vec2 P = -K.Solve22(C1); - - cA += mA * P; - aA += iA * b2Cross(rA, P); - - cB -= mB * P; - aB -= iB * b2Cross(rB, P); -} -else -{ - b2Vec2 C1 = cA + rA - cB - rB; - float C2 = aA - aB - m_referenceAngle; - - positionError = C1.Length(); - angularError = b2Abs(C2); - - b2Vec3 C(C1.x, C1.y, C2); - - b2Vec3 impulse; - if (K.ez.z > 0.0f) - { - impulse = -K.Solve33(C); - } - else - { - b2Vec2 impulse2 = -K.Solve22(C1); - impulse.Set(impulse2.x, impulse2.y, 0.0f); - } - - b2Vec2 P(impulse.x, impulse.y); - - cA += mA * P; - aA += iA * (b2Cross(rA, P) + impulse.z); - - cB -= mB * P; - aB -= iB * (b2Cross(rB, P) + impulse.z); -} - -``` - -最终效果: - - - -## 距离关节 - -距离关节(Distance Joint)能够两刚体的约束点距离限制为一个固定值。 - - - -如图所示,Distance Joint 限制刚体 $A,B$上的约束点到红色点,红色点的距离也就是距离关节的约束距离。 - -设距离为 $l$,Distance Joint 的约束方程可以表示为: - - -$\begin{aligned} C&=\parallel x_A+r_A-x_B-r_B\parallel -l\geqslant 0\\ \end{aligned}$ - -令 $p_A = x_A + r_A, p_B = x_B + r_B$,约束方程变为: - - -$C=\sqrt{\left( p_A-p_B \right) ^{\top}\left( p_A-p_B \right)} - l\geqslant 0$ - -约束方程 $C$对时间 $t$求导得到: - - -$\begin{aligned} \dot{C}&=\frac{1}{2}\frac{1}{\sqrt{\left( p_A-p_B \right) ^{\top}\left( p_A-p_B \right)}}\cdot 2\left( p_A-p_B \right) ^{\top}\frac{\mathrm{d}\left( p_A-p_B \right)}{\mathrm{d}t}\\ &=\frac{\left( p_A-p_B \right) ^{\top}}{\sqrt{\left( p_A-p_B \right) ^{\top}\left( p_A-p_B \right)}}\left( v_A+\omega _A\times r_A-v_B-\omega _B\times r_B \right)\\ &=n^{\top}\left( v_A+\omega _A\times r_A-v_B-\omega _B\times r_B \right)\\ \end{aligned}$ - -其中 $n^{\top}=\cfrac{\left( p_A-p_B \right) ^{\top}}{\sqrt{\left( p_A-p_B \right)^{\top} \left( p_A-p_B \right)}}$,是刚体 $B$ 的约束点指向刚体 $A$ 约束点的单位向量。 - -Distance Joint 的速度约束方程与我们已经在之前的碰撞约束和上一篇 Block Solver 最终给出的公式相同,这里将不再推导,直接给出雅可比矩阵 $J$: - - -$J=\left[ \begin{matrix} n^{\top}& n^{\top}r_{A}^{\left[ \times \right]}& -n^{\top}& -n^{\top}r_{B}^{\left[ \times \right]}\\ \end{matrix} \right]$ - -最终的 $JM^{-1}J^{\top}$展开得到的表达式为: - - -$JM^{-1}J^{\top}=m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}\left( n_yr_{ax}-n_xr_{ay} \right) ^2+I_{B}^{-1}\left( n_yr_{bx}-n_xr_{by} \right) ^2$ - -在 Box2D 中,Distance Joint 提供最大与最小距离: - -为了便于理解,我们在这里只介绍最大与最小距离相同的 Distance Joint。 - -Distance Joint 的速度约束部分就是我们上面介绍的 $\lambda$,这里的 ​ 同样为冲量 **增量** ,​ 为 $\left(JM^{-1}J^{\top}\right)^{-1}$。 - - - -``` -// Equal limits - -// Cdot = dot(u, v + cross(w, r)) -b2Vec2 vpA = vA + b2Cross(wA, m_rA); -b2Vec2 vpB = vB + b2Cross(wB, m_rB); -float Cdot = b2Dot(m_u, vpA - vpB); - -float impulse = -m_mass * Cdot; -m_impulse += impulse; - -b2Vec2 P = impulse * m_u; -vA += m_invMassA * P; -wA += m_invIA * b2Cross(m_rA, P); -vB -= m_invMassB * P; -wB -= m_invIB * b2Cross(m_rB, P); - -``` - -在位置迭代中,Distance Joint 计算当前两约束点的距离。求得的误差视作一个虚速度 ,直接对两个刚体进行积分,使得距离约束在模拟结束时得到满足: - - - -``` -b2Vec2 u = cA + rA - cB - rB; - -float length = u.Normalize(); -float C = length - m_minLength; - -float impulse = -m_mass * C; -b2Vec2 P = impulse * u; - -cA += m_invMassA * P; -aA += m_invIA * b2Cross(rA, P); -cB -= m_invMassB * P; -aB -= m_invIB * b2Cross(rB, P); - -``` - -最终效果: - - - -## 电机关节 - -电机关节(Motor Joint)在 Box2D 的官方解释为:限制两个物体的相对运动,典型的用法是控制一个动态物体$A$相对于地面$B$的移动。 - - - -与 Weld Joint 类似,Motor Joint 可以看作是一个点约束和角度约束的结合。与 Weld Joint 不同的是,Motor Joint 不处理任何位置约束,而是 **显式** 的使用 Baumgarte Stablization 来生成速度偏差项,偏差系数为 $\beta\$。正如它的名字所言,Motor Joint 通过增加速度项,给系统引入额外能量,动态地修正两个刚体的相对位置。 - -Motor Joint 与 Weld Joint 拥有相同的约束方程: - - -$\begin{aligned} C_1&=x_A+r_A-x_B-r_B=\mathbf{0}\\ C_2&=o_A-o_B-\alpha =0\\ \end{aligned}$ - -我们直接使用 Weld Joint 推导得到的结果: - - -$JM^{-1}J^{\top}=\left[ \begin{matrix} \left[ \begin{matrix} m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ay}r_{ay}+I_{B}^{-1}r_{by}r_{by}& -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}\\ -I_{A}^{-1}r_{ax}r_{ay}-I_{B}^{-1}r_{bx}r_{by}& m_{A}^{-1}+m_{B}^{-1}+I_{A}^{-1}r_{ax}r_{ax}+I_{B}^{-1}r_{bx}r_{bx}\\ \end{matrix} \right]& \left[ \begin{array}{c} 0\\ 0\\ \end{array} \right]\\ \left[ \begin{matrix} 0& 0\\ \end{matrix} \right]& I_{A}^{-1}+I_{B}^{-1}\\ \end{matrix} \right]$ - -对应到代码中,​ 就是左上角矩阵的逆,​ 就是右下角矩阵的逆, 与 ​ 分别为 $C_1\$与 $C_2\$: - - - -``` -float mA = m_invMassA, mB = m_invMassB; -float iA = m_invIA, iB = m_invIB; - -// Upper 2 by 2 of K for point to point -b2Mat22 K; -K.ex.x = mA + mB + iA * m_rA.y * m_rA.y + iB * m_rB.y * m_rB.y; -K.ex.y = -iA * m_rA.x * m_rA.y - iB * m_rB.x * m_rB.y; -K.ey.x = K.ex.y; -K.ey.y = mA + mB + iA * m_rA.x * m_rA.x + iB * m_rB.x * m_rB.x; - -m_linearMass = K.GetInverse(); - -m_angularMass = iA + iB; -if (m_angularMass > 0.0f) -{ - m_angularMass = 1.0f / m_angularMass; -} - -m_linearError = cA + m_rA - cB - m_rB; -m_angularError = aA - aB - m_angularOffset; - -``` - -在速度约束的求解中,与 Weld Joint 相同,Motor Joint 也是先求解角度约束,再求解位置的速度约束。由于现实中电机具有的最大转矩和牵引力,为了模拟这两个特性,Motor Joint 对求得的总冲量进行范围限制。 - -代码中的 与 分别是对角度与距离误差进行 **比例控制** , ​ 为反馈系数,过大将会导致 **超调/过冲** (Overshoot),过小则是 **欠调** (Undershoot)。 - - - -``` -// Solve angular -{ - float Cdot = wA - wB + inv_h * m_correctionFactor * m_angularError; - float impulse = -m_angularMass * Cdot; - -// max torque constraint - float oldImpulse = m_angularImpulse; - float maxImpulse = h * m_maxTorque; - m_angularImpulse = b2Clamp(m_angularImpulse + impulse, -maxImpulse, maxImpulse); - impulse = m_angularImpulse - oldImpulse; - - wA += iA * impulse; - wB -= iB * impulse; -} - -// Solve linear -{ - b2Vec2 Cdot = vA + b2Cross(wA, m_rA) - vB - b2Cross(wB, m_rB) + inv_h * m_correctionFactor * m_linearError; - - b2Vec2 impulse = -b2Mul(m_linearMass, Cdot); - b2Vec2 oldImpulse = m_linearImpulse; - m_linearImpulse += impulse; - - float maxImpulse = h * m_maxForce; - -// max force constraint - if (m_linearImpulse.LengthSquared() > maxImpulse * maxImpulse) - { - m_linearImpulse.Normalize(); - m_linearImpulse *= maxImpulse; - } - - impulse = m_linearImpulse - oldImpulse; - - vA += mA * impulse; - wA += iA * b2Cross(m_rA, impulse); - - vB -= mB * impulse; - wB -= iB * b2Cross(m_rB, impulse); -} - -``` - -最终效果: - - - -## 旋转关节 - -旋转关节(Revolute Joint)能够将刚体 $A$ 与 $B$ 各自的两个约束点距离约束到 $0$ ,同时限制两者的角度差。可以通俗地理解为,用钉子"钉住"两个物体的约束点,限制它们绕钉子旋转的角度。 - - - -在 Box2D 为 Revolute Joint 提供了类似于 Motor Joint 的电机驱动,能够使得两刚体的旋转角通过比例控制达到目标值。当 Revolute Joint 中 ​ 为 ​ 时,Revolute Joint 将不限制角度差。不过为了简便,本节忽略电机驱动的速度约束,仅介绍 Revolute Joint 开启角度差限制,并且角度差上下限足够大。 - -Revolute Joint 的速度约束方程与 Motor Joint 相同,并且两者都是将点约束与速度约束分开求解,因此我们直接引用之前介绍的点约束与角度约束的 $JM^{-1}J^{\top}$: - - - -``` -float mA = m_invMassA, mB = m_invMassB; -float iA = m_invIA, iB = m_invIB; - -m_K.ex.x = mA + mB + m_rA.y * m_rA.y * iA + m_rB.y * m_rB.y * iB; -m_K.ey.x = -m_rA.y * m_rA.x * iA - m_rB.y * m_rB.x * iB; -m_K.ex.y = m_K.ey.x; -m_K.ey.y = mA + mB + m_rA.x * m_rA.x * iA + m_rB.x * m_rB.x * iB; - -m_axialMass = iA + iB; -m_axialMass = 1.0f / m_axialMass; - -m_angle = aB - aA - m_referenceAngle; - -``` - -Revolute Joint 的角度差约束也是范围约束,设最小角度为 $\alpha_l$,最大角度为 $\alpha_u$,范围约束分别可以写为: - - -$\begin{aligned} C_l&=o_A-o_B-\alpha -\alpha _l\geqslant 0\\ C_u&=\alpha _u-\left( o_A-o_B-\alpha \right) \geqslant 0\\ \end{aligned}$ - -其中 $C_l$与角度约束的形式相同,我们可以直接算的角度约束下限的力矩 $\tau_l$ : - - -$\begin{array}{c} \left( I_{A}^{-1}+I_{B}^{-1} \right) \tau_1 =-\left( \omega _A-\omega _B \right) \end{array}$ - -对于 $C_u$,因为当刚体 $A$旋转超过最大限度时,我们要施加一个 **负方向** 的力矩 $\tau_u$,使得 $A$ 往回转,因此: - - -$\dot{C}_u=-\left( \omega _A-\omega _B \right) =\omega _B-\omega _A \\ \begin{aligned} I_A\left( \omega _{A}^{\prime}-\omega _A \right) &=-\tau_u\\ I_B\left( \omega _{B}^{\prime}-\omega _B \right) &=\tau_u\\ \end{aligned}$ - -同样地,我们期望最终的角速度能够满足上限速度约束 $C_u\$: - - -$\begin{aligned} \omega _{B}^{\prime}-\omega _{A}^{\prime}&=\omega _B+I_{B}^{-1}\tau _u-\left( \omega _A-I_{A}^{-1}\tau _u \right)\\ &=\omega _B-\omega _A+\left( I_{A}^{-1}+I_{B}^{-1} \right) \tau _u\\&=0 \end{aligned}$ - -那么得到最终 $\tau_u\$的表达式: - - -$\left( I_{A}^{-1}+I_{B}^{-1} \right) \tau_u =-\left( \omega _B-\omega _A \right)$ - -两个力矩 $\tau_{l},\tau_{u}$都是非负数,而 $\tau_u$ 与 $\tau_l$ 的施加方向时 **相反** 的,故对 $A$ 与$B$的角速度变化时,$\tau_u$ 取负号。 - -代码中的 ​ 为$\left(I^{-1}_A+I^{-1}_B\right)^{-1}$, 为 $\tau_l$,​ 为 $\tau_u$。 - - - -``` -// Lower limit -{ - float C = m_angle - m_lowerAngle; - float Cdot = wA - wB; - float tau_l = -m_axialMass * (Cdot + b2Max(C, 0.0f) * data.step.inv_dt); - - float oldImpulse = m_lowerImpulse; - m_lowerImpulse = b2Max(m_lowerImpulse + tau_l , 0.0f); - tau_l = m_lowerImpulse - oldImpulse; - - wA += iA * tau_l; - wB -= iB * tau_l; -} - -// Upper limit -{ - float C = m_upperAngle - m_angle; - float Cdot = wB - wA; - float tau_u = -m_axialMass * (Cdot + b2Max(C, 0.0f) * data.step.inv_dt); - - float oldImpulse = m_upperImpulse; - m_upperImpulse = b2Max(m_upperImpulse + tau_u , 0.0f); - tau_u = m_upperImpulse - oldImpulse; - - wA += iA * -tau_u; - wB -= iB * -tau_u; -} - -``` - -关于此处的 Lower limit 与 Upper limit,我们在下一节滑动约束中统一介绍。 - -在位置迭代中,Revolute Joint 先修正角度约束。当 ​ 在上下限的范围内时,不进行修正。若超出上下限,Revolute Joint 将允许部分小的偏差 ​ ,并引入 ​ 来限制在单次迭代中角度修正量 ​ ,默认的最大修正量为 $\pm 8^\circ$。 - - - -``` -float angle = aB - aA - m_referenceAngle; -float C = 0.0f; - -if (angle <= m_lowerAngle) -{ - // Prevent large angular corrections and allow some slop. - C = b2Clamp(angle - m_lowerAngle + b2_angularSlop, -b2_maxAngularCorrection, 0.0f); -} -else if (angle >= m_upperAngle) -{ - // Prevent large angular corrections and allow some slop. - C = b2Clamp(angle - m_upperAngle - b2_angularSlop, 0.0f, b2_maxAngularCorrection); -} - -float limitImpulse = -m_axialMass * C; -aA -= m_invIA * limitImpulse; -aB += m_invIB * limitImpulse; - -``` - -Revolute Joint 最后修正点约束,直接利用约束点之差作为"虚速度",直接修正位置。这里的矩阵 就是我们之前在点关节中提到的 $JM^{-1}J^{\top}$。 - - - -``` -b2Vec2 C = cB + rB - cA - rA; - -float mA = m_invMassA, mB = m_invMassB; -float iA = m_invIA, iB = m_invIB; - -b2Mat22 K; -K.ex.x = mA + mB + iA * rA.y * rA.y + iB * rB.y * rB.y; -K.ex.y = -iA * rA.x * rA.y - iB * rB.x * rB.y; -K.ey.x = K.ex.y; -K.ey.y = mA + mB + iA * rA.x * rA.x + iB * rB.x * rB.x; - -b2Vec2 impulse = -K.Solve(C); - -cA -= mA * impulse; -aA -= iA * b2Cross(rA, impulse); - -cB += mB * impulse; -aB += iB * b2Cross(rB, impulse); - -``` - -最终效果: - - - -## 滑动关节 - -滑动关节(Prismatic Joint)指的是限制两个刚体在指定轴线上的移动与转动。 - - - -如图所示,$n$ 与 $t$ 构成滑动法向与切向,两者都为单位列向量,内积为 $0$ ,即 $n=\left[ \begin{array}{c} n_x\\ n_y\\\end{array} \right] ,t=\left[ \begin{array}{c} -n_y\\ n_x\\\end{array} \right]$。 - -Prismatic Joint 将对刚体 $A$的进行以下限制: - -设移动的最大值 $u>0$,最小值 $l<0$。Prismatic Joint 的约束方程表示如下: - - -$\begin{aligned} C_1&=n^{\top}\left( x_A+r_A-x_B-r_B \right) =0\\ C_2&=u-t^{\top}\left( x_A+r_A-x_B-r_B \right) \geqslant 0\\ C_3&=t^{\top}\left( x_A+r_A-x_B-r_B \right) -l\geqslant 0\\ C_4&=o_A-o_B-\alpha =0\\ \end{aligned}$ - -我们可以观察到,Prismatic Joint 其实与碰撞约束有些类似,但前者是双边约束(Bilateral),禁止刚体在 $n$ 的正反方向移动,而后者是单边约束(Unilateral),允许刚体往 $n$ 的正方向移动。 - -此外,Prismatic Joint 在 $t$ 方向的范围约束又是单边的。不等号取等后,对约束方程求导,得到: - - -$\begin{aligned} \dot{C}_1&=n^{\top}\left( v_A+\omega _A\times r_A-v_B-\omega _B\times r_B \right) =0\\ \dot{C}_2&=t^{\top}\left( v_A+\omega _A\times r_A-v_B-\omega _B\times r_B \right) =0\\ \dot{C}_3&=\omega _A-\omega _B=0\\ \end{aligned}$ - -同样的,我们像之前一样,根据牛顿欧拉方程,得到: - - -$\begin{aligned} M_A\left( v_{A}^{\prime}-v_A \right) &=n\lambda _n+t\lambda _t\\ M_B\left( v_{B}^{\prime}-v_B \right) &=-n\lambda _n-t\lambda _t\\ I_A\left( \omega _{A}^{\prime}-\omega _A \right) &=r_A\times \left( n\lambda _n \right) +r_A\times \left( t\lambda _t \right) +\tau\\ I_B\left( \omega _{B}^{\prime}-\omega _B \right) &=-r_B\times \left( n\lambda _n \right) -r_B\times \left( t\lambda _t \right) -\tau\\ \end{aligned} \Rightarrow \begin{aligned} v_{A}^{\prime}&=v_A+M_{A}^{-1}\left( n\lambda _n+t\lambda _t \right)\\ v_{B}^{\prime}&=v_B-M_{B}^{-1}\left( n\lambda _n+t\lambda _t \right)\\ \omega _{A}^{\prime}&=\omega _A+I_{A}^{-1}\left[ r_A\times \left( n\lambda _n \right) +r_A\times \left( t\lambda _t \right) +\tau \right]\\ \omega _{B}^{\prime}&=\omega _B-I_{B}^{-1}\left[ r_B\times \left( n\lambda _n \right) +r_B\times \left( t\lambda _t \right) +\tau \right]\\ \end{aligned}$ - -其中 $\lambda_n,\tau ,\lambda_t\in \mathbb{R}$ 是三个未知的量,将上述方程与速度约束方程结合之后,得到: - - -$\begin{aligned} n^{\top}\left( v_A+M_{A}^{-1}\left( n\lambda _n+t\lambda _t \right) +\left( \omega _A+I_{A}^{-1}\left( r_A\times \left( n\lambda _n \right) +r_A\times \left( t\lambda _t \right) +\tau \right) \right) \times r_A-v_B+M_{B}^{-1}\left( n\lambda _n+t\lambda _t \right) -\left( \omega _B-I_{B}^{-1}\left( r_B\times \left( n\lambda _n \right) +r_B\times \left( t\lambda _t \right) +\tau \right) \right) \times r_B \right) &=0\\ t^{\top}\left( v_A+M_{A}^{-1}\left( n\lambda _n+t\lambda _t \right) +\left( \omega _A+I_{A}^{-1}\left( r_A\times \left( n\lambda _n \right) +r_A\times \left( t\lambda _t \right) +\tau \right) \right) \times r_A-v_B+M_{B}^{-1}\left( n\lambda _n+t\lambda _t \right) -\left( \omega _B-I_{B}^{-1}\left( r_B\times \left( n\lambda _n \right) +r_B\times \left( t\lambda _t \right) +\tau \right) \right) \times r_B \right) &=0\\ \omega _A+I_{A}^{-1}\left( r_A\times \left( n\lambda _n \right) +r_A\times \left( t\lambda _t \right) +\tau \right) -\omega _B+I_{B}^{-1}\left( r_B\times \left( n\lambda _n \right) +r_B\times \left( t\lambda _t \right) +\tau \right) &=0\\ \end{aligned}$ - -利用 $n^{\top}t=t^{\top}n=0\$,我们得到最终的结果: - - -$\left[ \begin{matrix} M_{A}^{-1}+M_{B}^{-1}+I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}n^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}n^{\top}r_{B}^{\left[ \times \right]}\\ I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}+I_{B}^{-1}& I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}\\ I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}t^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}t^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}& M_{A}^{-1}+M_{B}^{-1}+I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}t^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}t^{\top}r_{B}^{\left[ \times \right]}\\ \end{matrix} \right] \left[ \begin{array}{c} \lambda _n\\ \tau\\ \lambda _t\\ \end{array} \right] =-\left[ \begin{array}{c} n^{\top}\left( v_A+\omega _Ar_{A}^{\left[ \times \right]}-v_B-\omega _Br_{B}^{\left[ \times \right]} \right)\\ \omega _A-\omega _B\\ t^{\top}\left( v_A+\omega _Ar_{A}^{\left[ \times \right]}-v_B-\omega _Br_{B}^{\left[ \times \right]} \right)\\ \end{array} \right]$ - -上述三阶 $JM^{-1}J^{\top}$的逆矩阵计算复杂度较高,Box2D 将 Prismatic Joint 拆分两部分: - -范围约束的 $JM^{-1}J^{\top}\lambda=-JV$表达为: - - -$\left( M_{A}^{-1}+M_{B}^{-1}+I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}t^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}t^{\top}r_{B}^{\left[ \times \right]} \right) \lambda _t=-t^{\top}\left( v_A+\omega _Ar_{A}^{\left[ \times \right]}-v_B-\omega _Br_{B}^{\left[ \times \right]} \right)$ - -代码中的 为切向 $t\$, 为范围约束的 $JM^{-1}J^{\top}$ : - - - -``` -{ - m_axis = b2Mul(qA, m_localXAxisA); - m_a1 = b2Cross(d + rA, m_axis); - m_a2 = b2Cross(rB, m_axis); - - m_axialMass = mA + mB + iA * m_a1 * m_a1 + iB * m_a2 * m_a2; - if (m_axialMass > 0.0f) - { - m_axialMass = 1.0f / m_axialMass; - } -} - -``` - -去掉三阶矩阵中含 $t\$的所有项后,点线约束与角度约束的 $JM^{-1}J^{\top}=-JV$表达为: - - -$\left[ \begin{matrix} M_{A}^{-1}+M_{B}^{-1}+I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}n^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}\\ I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}+I_{B}^{-1}\\ \end{matrix} \right] \left[ \begin{array}{c} \lambda _n\\ \tau\\ \end{array} \right] =-\left[ \begin{array}{c} n^{\top}\left( v_A+\omega _Ar_{A}^{\left[ \times \right]}-v_B-\omega _Br_{B}^{\left[ \times \right]} \right)\\ \omega _A-\omega _B\\ \end{array} \right]$ - -上面的约束称为 **滑动约束** (Prismatic Constraint),即限制旋转角度与偏离轴线,也就是注释中提到的: - - - -``` -// Block Solver -// We develop a block solver that includes the angular and linear constraints. This makes the limit stiffer. -// -// The Jacobian has 2 rows: -// J = [-uT -s1 uT s2] // linear -// [0 -1 0 1] // angular - -``` - -下面代码中的 其实就是 $n$,​ 为上式的 $JM^{-1}J^{\top}$: - - - -``` -// Prismatic constraint. -{ - m_perp = b2Mul(qA, m_localYAxisA); - - m_s1 = b2Cross(d + rA, m_perp); - m_s2 = b2Cross(rB, m_perp); - - float k11 = mA + mB + iA * m_s1 * m_s1 + iB * m_s2 * m_s2; - float k12 = iA * m_s1 + iB * m_s2; - float k22 = iA + iB; - if (k22 == 0.0f) - { - // For bodies with fixed rotation. - k22 = 1.0f; - } - - m_K.ex.Set(k11, k12); - m_K.ey.Set(k12, k22); -} - -``` - -在速度约束的实现中,Prismatic Joint 先求解范围约束。最小限制的 也就是$t^{\top}\left( v_A+\omega _Ar_{A}^{\left[ \times \right]}-v_B-\omega _Br_{B}^{\left[ \times \right]} \right)$。最大限制与 Revolute Joint 的做法相同,冲量 $\lambda_t$对 $A\$ 是 **反向** 的,因此最大限制的 为 $t^{\top}\left( v_B+\omega _Br_{B}^{\left[ \times \right]}-v_A-\omega _Ar_{A}^{\left[ \times \right]} \right)$: - - - -``` -// Lower limit -{ - float C = m_translation - m_lowerTranslation; - float Cdot = b2Dot(m_axis, vA - vB) + m_a1 * wA - m_a2 * wB; - float impulse = -m_axialMass * (Cdot + b2Max(C, 0.0f) * data.step.inv_dt); - float oldImpulse = m_lowerImpulse; - m_lowerImpulse = b2Max(m_lowerImpulse + impulse, 0.0f); - impulse = m_lowerImpulse - oldImpulse; - - b2Vec2 P = impulse * m_axis; - float LA = impulse * m_a1; - float LB = impulse * m_a2; - - vA += mA * P; - wA += iA * LA; - vB -= mB * P; - wB -= iB * LB; -} -// Upper limit -{ - float C = m_upperTranslation - m_translation; - float Cdot = b2Dot(m_axis, vB - vA) + m_a2 * wB - m_a1 * wA; - float impulse = -m_axialMass * (Cdot + b2Max(C, 0.0f) * data.step.inv_dt); - float oldImpulse = m_upperImpulse; - m_upperImpulse = b2Max(m_upperImpulse + impulse, 0.0f); - impulse = m_upperImpulse - oldImpulse; - - b2Vec2 P = impulse * m_axis; - float LA = impulse * m_a1; - float LB = impulse * m_a2; - - vA += mA * -P; - wA += iA * -LA; - vB -= mB * P; - wB -= iB * LB; -} - -``` - -我们重点讨论一下代码中 Lower limit 与 Upper limit 这两部分。 - -回忆我们刚才写的范围约束的速度约束方程: - - -$\dot{C}_2=t^{\top}\left( v_A+\omega _A\times r_A-v_B-\omega _B\times r_B \right) =0$ - -这个其实代表着, **禁止** 刚体 $A$ 与 $B$ 在切向方向上存在相对速度。如果不作额外处理,直接计算得的 $\lambda_t$ 会导致 **锁定** 现象,也就是刚体无法拖拽和移动。这显然不是我们想要的,我们只是希望刚体在抵达最大或者最小限制的时候产生约束力。 - -然而,物理模拟的计算是离散的,单边约束只有在 **约束被违反的时候** 才会计算约束力。这就会导致,如果刚体的速度很快,即使当前物理帧没违反约束,但在积分位置后,刚体就违反了约束。 - -为了解决这个问题, Box2D 作者使用了一种叫“Predictive Limit”的方法: - -[Predictive Joint Limits :: Box2D​box2d.org/posts/2020/04/predictive-joint-limits/](https://box2d.org/posts/2020/04/predictive-joint-limits/) - -Predictive Limit 采用一种主动探测是否将要违反约束的手段。下面这个例子中,我们对刚体 $A$ 的质心进行范围约束: - - - -在这个例子中,我们只考虑 1 维的运动,因此切向 $t = \left[ \begin{array}{c} 1\\ 0\\\end{array} \right]$ 变为 $t=1$ 。地面 $B$ 的 $M^{-1}_B =0$ , $r_A=r_B=\boldsymbol{0}$ 。 - -图中的橙色箭头表示刚体 $A$ 的速度 $v_A$ 的方向, $v_A$ 的大小为 $240m/s$ ,时间步长 $\Delta t = \cfrac{1}{60}$ ,初始位置 $x_A = 0$ 。 - -如果直接位置积分, $A$ 的位置变为 $x_A = -4$ ,穿过了最小限制 $p_l =-2$ 处。显然, $A$ 违反了约束,但只能等到下一次速度迭代时才能解决。我们不想让 $A$ 违反约束,并希望在位置积分后 $x_A$ 应该停留在 $p_l$ 处: - - -$x_{A}^{\prime}=x_A+v_{A}^{\prime}\Delta t\geqslant p_l$ - -相应地,我们可以算出: - - -$v_{A}^{\prime}\geqslant -\cfrac{x_A-p_l}{\Delta t}=-120$ - -根据: - - -$M_A\left( v_{A}^{\prime}-v_A \right) = t\lambda _t = \lambda_t$ - -结合上述两个式子: - - -$v_{A}^{\prime}=v_A+m_{A}^{-1}\lambda _t\geqslant -\cfrac{x_A-p_l}{\Delta t}\Rightarrow m_{A}^{-1}\lambda _t\geqslant -v_A-\cfrac{x_A-p_l}{\Delta t}$ - -然而,根据我们之前介绍的范围约束的公式,对应到这个例子中,我们得到: - - -$JM^{-1}J^{\top}\lambda_t = -JV\Rightarrow m_{A}^{-1}\lambda _t=-\left( v_A \right)$ - -为了能让计算得的 $\lambda_t$ 使得 $x_A = p_l$ ,我们令刚体 $A$ 与最低限度 $p_l$ 的距离为 $C=x_A - p_l$ ,式子变为: - - -$m_{A}^{-1}\lambda _t\geqslant -\left( v_A+\cfrac{C}{\Delta t} \right)$ - -不等号取等,就能可以把 $A$ 的位置限制在 $p_l$ 处,代码中的 ​ 也就是 $\cfrac{C}{\Delta t}$ 。 - -范围约束是单边约束,当 $v_A=0$ 时,我们计算得到的 $\lambda_t < 0$ ,这个 $\lambda_t$ 就把 $A$ 锁定在 $p_l$ 处,不符合单边约束的要求。所以,代码中也对其进行了限制,也就是 ​ 。 - -最终的计算表达式如下: - - -$JM^{-1}J\lambda_t = -\left(JV + \cfrac{C}{\Delta t}\right),\quad\lambda_t \geqslant 0$ - -距离速度项 $\cfrac{C}{\Delta t}$ 与非负约束 $\lambda_t \geqslant 0$ 可以确保范围约束只在 **将要** 违反约束时计算 $\lambda_t$ 并使 $A$ 不超过最低限度。 - -同样地,我们也需要对最大限制进行上面的操作,即代码中 ​ 部分。 - -Predictive Limit 提前“预知”了违反约束可能会发生,因此在速度迭代时进行了探测并修正,使得最终可以用较少的迭代次数完成位置偏差修正。 - -速度约束的最后部分是求解 Prismatic Constraint ,下面的 ​ 其实就是 $\left(JM^{-1}J^{\top}\right)^{-1}\left(-JV\right)$: - - - -``` -// Solve the prismatic constraint in block form. -{ - b2Vec2 Cdot; - Cdot.x = b2Dot(m_perp, vB - vA) + m_s2 * wB - m_s1 * wA; - Cdot.y = wB - wA; - - b2Vec2 df = m_K.Solve(-Cdot); - m_impulse += df; - - b2Vec2 P = df.x * m_perp; - float LA = df.x * m_s1 + df.y; - float LB = df.x * m_s2 + df.y; - - vA -= mA * P; - wA -= iA * LA; - - vB += mB * P; - wB += iB * LB; -} - -``` - -在位置迭代中,如果在约束点沿 $t\$方向仍超过最大值或最小值,那么将使用原本的三阶 $JM^{-1}J^{\top}\$求解: - - -$JM^{-1}J^{\top}=\left[ \begin{matrix} M_{A}^{-1}+M_{B}^{-1}+I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}n^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}n^{\top}r_{B}^{\left[ \times \right]}\\ I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}n^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}+I_{B}^{-1}& I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}\\ I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}n^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}n^{\top}r_{B}^{\left[ \times \right]}& I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}& M_{A}^{-1}+M_{B}^{-1}+I_{A}^{-1}t^{\top}r_{A}^{\left[ \times \right]}t^{\top}r_{A}^{\left[ \times \right]}+I_{B}^{-1}t^{\top}r_{B}^{\left[ \times \right]}t^{\top}r_{B}^{\left[ \times \right]}\\ \end{matrix} \right]$ - -代码中 ​ 将根据上面的内容进行构造, ​ 就是判断是否仍存在误差: - - - -``` -if (active) -{ - float k11 = mA + mB + iA * s1 * s1 + iB * s2 * s2; - float k12 = iA * s1 + iB * s2; - float k13 = iA * s1 * a1 + iB * s2 * a2; - float k22 = iA + iB; - if (k22 == 0.0f) - { - // For fixed rotation - k22 = 1.0f; - } - float k23 = iA * a1 + iB * a2; - float k33 = mA + mB + iA * a1 * a1 + iB * a2 * a2; - - b2Mat33 K; - K.ex.Set(k11, k12, k13); - K.ey.Set(k12, k22, k23); - K.ez.Set(k13, k23, k33); - - b2Vec3 C; - C.x = C1.x; - C.y = C1.y; - C.z = C2; - - impulse = K.Solve33(-C); -} - -``` - -如果没有误差,那么仅对滑动约束进行位置修正。代码中的 ​ 与速度迭代中的 Prismatic Constraint 使用相同的矩阵 : - - - -``` -float k11 = mA + mB + iA * s1 * s1 + iB * s2 * s2; -float k12 = iA * s1 + iB * s2; -float k22 = iA + iB; -if (k22 == 0.0f) -{ - k22 = 1.0f; -} - -b2Mat22 K; -K.ex.Set(k11, k12); -K.ey.Set(k12, k22); - -b2Vec2 impulse1 = K.Solve(-C1); -impulse.x = impulse1.x; -impulse.y = impulse1.y; -impulse.z = 0.0f; - -``` - -最终效果: - - - -## 路径关节 - -在本节中,我们将利用前面的知识,实现一个 Box2D 没有提供的路径关节(Path Joint),也就是将刚体上的点约束到路径上,并限制其只能沿着路径的切线运动。 - - - -Path Joint 是 Prismatic Joint 的拓展,他们拥有同样的约束方程。不同的是,Path Joint 的路径法向量与切向量是时刻变化的。 - -本节以圆为例子,假设刚体 $B$ 为地面,那么 $m^{-1}_B = I^{-1}_B = 0$ 。我们可以根据 Prismatic Joint 的 $JM^{-1}J^{\top}$ 得到: - - -$JM^{-1}J^{\top}=\left[ \begin{matrix} m_{A}^{-1}+I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}n^{\top}r_{A}^{\left[ \times \right]}& I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}\\ I_{A}^{-1}n^{\top}r_{A}^{\left[ \times \right]}& I_{A}^{-1}\\ \end{matrix} \right]$ - -在速度迭代中,我们计算限制刚体 $A$ 往法线方向移动的 $\lambda_n$ 与限制转动的 $\tau$ : - - - -``` -Body* bodyA = m_primitive.bodyA; -Vector2 pa = bodyA->toWorldPoint(m_primitive.localPointA); -Vector2 ra = pa - bodyA->position(); -Vector2 va = bodyA->velocity() + Vector2::crossProduct(bodyA->angularVelocity(), ra); - -real nv = m_primitive.normal.dot(va); -real dw = bodyA->angularVelocity(); - -Vector2 dv(nv, dw); -Vector2 lambda = m_primitive.invK.multiply(-dv); -m_primitive.impulse += lambda; -Vector2 P1 = m_primitive.normal * lambda.x; - -bodyA->angularVelocity() += bodyA->inverseInertia() * lambda.y; - -bodyA->applyImpulse(P1, ra); - -``` - -在位置迭代中,我们计算刚体 $A$ 的约束点最靠近路径的点,并重新计算法线与切线。距离误差 ​ 为约束点到最近点的距离,角度误差 ​ 为本地坐标系下路径切线与坐标轴的夹角: - - - -``` -Body* bodyA = m_primitive.bodyA; - -real im_a = bodyA->inverseMass(); -real ii_a = bodyA->inverseInertia(); - -Vector2 pa = bodyA->toWorldPoint(m_primitive.localPointA); -Vector2 ra = pa - bodyA->position(); - -Vector2 ba = pa - m_primitive.origin; -m_primitive.normal = ba.normal(); -m_primitive.tangent = m_primitive.normal.perpendicular(); -m_primitive.closestPoint = m_primitive.origin + m_primitive.normal * m_primitive.radius; - -Vector2 c = pa - m_primitive.closestPoint; -real linearError = c.dot(m_primitive.normal); - -Vector2 localB = bodyA->toLocalPoint(bodyA->position() + m_primitive.tangent); -real angularError = -localB.theta(); - -Matrix2x2 k; -k.e11() = im_a + ii_a * ra.cross(m_primitive.normal) * ra.cross(m_primitive.normal); -k.e12() = ii_a * ra.cross(m_primitive.normal); -k.e21() = ii_a * ra.cross(m_primitive.normal); -k.e22() = ii_a; - -k.invert(); - -Vector2 dv(linearError, angularError); - -Vector2 lambda = k.multiply(-dv); - -Vector2 P1 = m_primitive.normal * lambda.x; - -bodyA->rotation() += bodyA->inverseInertia() * lambda.y; - -bodyA->position() += P1 * im_a; - -``` - -最终效果如下: - - - -## 参考资料 - -## 结尾 - -感谢你看到这里! - -从大一小学期上的《游戏中的物理学》开始,历经三年,我尽可能地把大多数的坑都填上了。虽然中间陆陆续续有其他事情干扰,但是每次回想起没完善的小玩具,我还是觉得有必要重新拾起来,记录下文字,留给后面感兴趣的朋友。如果本文对你有帮助的话,麻烦请给我点个赞吧(嘿嘿) - -本篇文章还留有一些关节没有进行推导,例如: - -它们的推导过程与文中的类似, Box2D 的源码中也有介绍它们的 $JM^{-1}J^{\top}\$。如果你感兴趣,可以尝试推导一下,相信你会有所收获:) - -
- -[https://zhuanlan.zhihu.com/p/665405974](https://zhuanlan.zhihu.com/p/665405974)
- - - diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/3.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/3.jpg deleted file mode 100644 index e1b3ff9..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/3.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/4.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/4.jpg deleted file mode 100644 index 6ed1110..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/4.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/5.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/5.jpg deleted file mode 100644 index 9b0375d..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/5.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/6.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/6.jpg deleted file mode 100644 index 5d653fb..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/6.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/7.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/7.jpg deleted file mode 100644 index e99a728..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/7.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/8.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/8.jpg deleted file mode 100644 index 7065997..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/8.jpg and /dev/null differ diff --git a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/9.jpg b/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/9.jpg deleted file mode 100644 index 1fe99e9..0000000 Binary files a/article/2023-12-17_13_56_2D_游戏物理引擎_-_关节约束_IP_属地上海/9.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/0.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/0.jpg deleted file mode 100644 index fd19757..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/0.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/1.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/1.jpg deleted file mode 100644 index 824ac16..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/1.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/2.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/2.jpg deleted file mode 100644 index 857b5be..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/2.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/2024-01-13_22_18・IP_属地广东.txt b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/2024-01-13_22_18・IP_属地广东.txt deleted file mode 100644 index 7bc2e53..0000000 --- a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/2024-01-13_22_18・IP_属地广东.txt +++ /dev/null @@ -1,2 +0,0 @@ -2024-01-13_22_18・IP_属地广东 -https://zhuanlan.zhihu.com/p/676998456 \ No newline at end of file diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/3.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/3.jpg deleted file mode 100644 index ec7ea90..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/3.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/4.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/4.jpg deleted file mode 100644 index 13b06ff..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/4.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/5.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/5.jpg deleted file mode 100644 index 69ce207..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/5.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/6.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/6.jpg deleted file mode 100644 index bc9ec35..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/6.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/7.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/7.jpg deleted file mode 100644 index ccf4181..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/7.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/8.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/8.jpg deleted file mode 100644 index 4fe9854..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/8.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/9.jpg b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/9.jpg deleted file mode 100644 index 09aa1b3..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/9.jpg and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/CAE设计师.pdf b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/CAE设计师.pdf deleted file mode 100644 index 1d4335b..0000000 Binary files a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/CAE设计师.pdf and /dev/null differ diff --git a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/CAE设计师_formula_.md b/article/2024-01-13_22_18_CAE设计师_IP_属地广东/CAE设计师_formula_.md deleted file mode 100644 index d6c553e..0000000 --- a/article/2024-01-13_22_18_CAE设计师_IP_属地广东/CAE设计师_formula_.md +++ /dev/null @@ -1,587 +0,0 @@ -# 【模型量化系列2】QLoRA原理及实战 - -[转载自](https://zhuanlan.zhihu.com/p/676998456) - -## 什么是模型量化 - -在深度学习领域,模型通常采用float32这种数据格式进行训练和存储,每个参数占据32比特(即4字节)的空间。例如,一个大小为7b的模型会需求28b的显存或内存资源。但如果能够将参数所需的存储空间压缩至16比特、8比特甚至4比特,那么就能显著减少所需的存储容量,并可能加快模型的推理速度。量化可以应用在模型的参数(即权重)、激活值,甚至是在训练过程中更新的梯度上。参数的量化通常相对容易实施,因为模型的参数分布通常比较稳定。 - -## 量化的分类 - -量化可以按照处理时机或技术方法进行分类。 - -### 基于处理时机的分类 - -(1)量化感知训练(QAT) - 在模型训练阶段,即在反向传播过程中更新梯度时,进行量化处理。 - -(2)后量化(PTQ) - 在模型训练完成后进行量化,这种方法又细分为两种: - -训练后动态量化 - 无需校准数据集,直接按照量化算法转换每一层的参数。QLoRA就是采用这种方法的一个例子。 - -训练后校正量化 - 需要输入具有代表性的数据集,据此调整每层的量化策略来优化权重。GPTQ是这一方法的一个实践。 - -### 基于映射关系的分类 - -线性量化 - 如果量化前后数值保持线性关系,则这种量化方式被称为线性量化。 - -非线性量化 - 如果量化过程中数值关系不是线性的,则称之为非线性量化。 - -### 基于对“零点”的处理的分类 - -对称量化 - 在这种方式中,目标是让为0的参数在量化后仍保持为0。 - -非对称量化 - 如果量化过程中0的表示发生改变,则此方式被称为非对称量化。 - -## int8量化 - -### 什么是int8量化 - -Int8量化是一种优化技术,它将32位的浮点数(float32)模型参数转换为8位整数(int8)。这有助于减少模型的内存占用,加快其执行速度,并有可能减少能耗,特别是在边缘设备上。以下是完成Int8量化所采用的基本计算公式: - -(1)确定缩放因子(Scale)和零点(Zero Point): - -首先,你需要计算量化过程使用的两个重要值:缩放因子(scale)和零点(zero point)。缩放因子用于将浮点数映射到整数范围,零点则确保浮点数0可以被准确地表示为整数。 - -计算scale和zero_point通常需要最大值(max_val)和最小值(min_val): - - - -``` -scale = (max_val - min_val) / (2^7 - 1) # 127是int8的最大值 zero_point = round(-min_val / scale) -``` - -这里,zero_point需要在-128到127的范围内,因为这是8位有符号整数的范围。 - -(2)应用量化: - -使用scale和zero_point,量化一个浮点数(float_val)成一个8位整数(int_val): - - - -``` -int_val = round(float_val / scale) + zero_point -``` - -(3)整数裁剪: - -如果量化后的整数超出了-128到127的范围,它需要被裁剪以保持在有效范围内。 - - - -``` -int_val = min(127, max(-128, int_val)) -``` - -这样,量化过程就可以将32位浮点数数组转换为能够在8位整数范围内表示的数组,这减少了内存占用,同时可能提高了执行速度。 - - - - -### 一个线性、非对称、int8后量化的例子 - -这里举一个常见的int8量化例子,在这个例子中,使用了线性、非对称、后量化的方法。 - -(注意,以下例子只是为了理解。许多深度学习框架(如TensorFlow和PyTorch)提供了现成的量化工具,以便自动完成这些转换。) - -量化的计算公式为: - - - -``` -q = (w / scale) + zero_point -``` - -其中w是未量化的值,q是量化后的值。 scale和zero_point在下面有介绍。 - -假设我们有下面这个列表的模型权重作为浮点数: - - - -``` -weights = [0.15, -0.8, 0.2, -0.5] -``` - -量化到8位整数涉及以下步骤: - -(1)确定量化范围: - -在Int8量化中,值的范围通常是[-128, 127](对于有符号整数)。 - -找到浮点列表中的最小和最大值: - - - -``` -min_val = min(weights) # -0.8 -max_val = max(weights) # 0.2 -``` - -(2)计算缩放系数(scale)和零点(zero point): - -计算缩放系数,将浮点数范围映射到整数范围。举例来说,可以简单选择max(abs(min_val), abs(max_val))作为分母,然后以[-128, 127]为分子进行缩放计算。 - -因为0可能不在浮点数的范围内,我们需要一个零点来表示量化值0对应的浮点数。通常,零点是通过缩放原始的浮点数零值来确定的。 - - - -``` -scale = (max_val - min_val) / (127 - (-128)) -# 缩放系数 (0.2 - (-0.8)) / (127 - (-128)) -# scale = 1.0 / 255 -zero_point = 127-max_val / scale -# zero_point = 76 -``` - -(3)应用量化转换: - -将每个浮点数权重转换为整数表示。 - - - -``` -quantized_weights = [round((w / scale) + zero_point) for w in weights] -``` - -应用上面的公式,具体计算: - - - -``` -quantized_weights = [ - round(0.15 / scale) + zero_point, - round(-0.8 / scale) + zero_point, - round(0.2 / scale) + zero_point, - round(-0.5 / scale) + zero_point -] -# 根据scale,四舍五入并加上zero_point -quantized_weights = [ - round(38.4) + 76, - round(-204.8) + 76, - round(51.2) + 76, - round(-128.0) + 76 -] -``` - -得到的quantized_weights是: [114, -129, 127, -52] - -(4)做截断,使得数据落在[-128,127]范围 - -量化后的权重如下所示: - - - -``` -quantized_weights = [114, -128, 127, -52] -``` - -## QLoRA - -### 简介 - -QLoRA 创新地将模型量化技术(Quant)与精细的LoRA参数微调策略相结合,使得在仅有48GB内存的单个GPU上就能对高达65B参数的大型模型进行微调成为可能。QLoRA所采用的量化方法—由bitsandbytes库提供支持—已成为Transformers模型量化的官方实施方案。 - -截至2023年7月14日,采用QLoRA微调技术训练的模型Guanaco在多个任务上均展现出卓越性能,其65B版本的模型在Open LLM Leaderboard上名列第二,显著优于初代的llama-65B模型。得益于QLoRA高效的训练方法以及在下游任务中的出色表现,Guanaco模型自公布以来,QLoRA的方法便受到了业界的广泛关注。 - -QLoRA对模型权重进行量化时使用的是对称量化算法,其过程与前述的线性量化方法基本一致。QLoRA的解决方案主要包括三个部分: - -(1)NF4 Quantization(4-bit量化):这是一种基于信息论启发的全新int4量化技术。NF4量化能保障在量化过程中数据分布的一致性,换句话说,经NF4量化的权重信息损失较小,从而保证模型整体精度的最小损失。 - -(2)Double Quantization:对初次完成量化的常量进行二次量化,进一步缩减模型存储体积。 - -(3)Paged Optimizers:利用NVIDIA的统一内存管理功能,该技术可以在CPU和GPU之间自动进行页对页的传输,使得即便在GPU偶发地内存溢出(OOM)时仍能够继续进行训练。这可以理解为在训练过程中出现临时OOM时的自动故障处理机制。 - -### NF4量化 - -上面我举了一个int8量化的例子。int8量化是一种常见的线性量化过程,其计算公式是线性的: - -q = (w / scale) + zero_point。 - -但这存在一个问题:若数据分布不均匀,量化后的值有可能“粘连”堆叠在一起。例如,数组weights_fp32 = [0.001, 0.0015, 0.0016, 0.002, 55.0]在经量化处理后,变为: - -quantized_weights = [-128,-128,-128,-128,127]。 - -这四个原本不同的权重经量化后全数转化为相同的数值,导致模型出现较大误差。一般的模型参数通常呈正态分布,而非均匀分布。若依照线性方式进行量化,极可能导致多个不同的值被量化到相同的数值上。如参数符合标准正态分布,(0,1)区间内的值差异性将远大于(10,11),造成相同值概率的不均衡。 - - - -相较于此,nf4量化则采取一种非对称量化方式,它基于分位数来执行量化映射。在标准正态分布里,由于靠近中心0点的取值较多,非对称量化能为这些取值提供更多的“格子”,以维持数据的精细度。 - - - - - - -在刚才的讲解中,我们提到了这样一个例子:浮点数数组weights_fp32 = [0.001, 0.0015, 0.0016, 0.002, 55.0]通过量化处理后,转变为了quantized_weights = [-128, -128, -128, -128, 127]。 之所以会出现这种情况,是因为我们在量化过程中设定的scale约等于55/255,大约是0.21。 - -这意味着,若两个不同的浮点数之间的差值小于或等于0.21,它们在量化过程中有很大几率被映射到同一个整数值上。 - -你可以把量化理解成装格子的过程。int8量化有256个不同的选值,相当于有256个不同的格子——即,最大值和最小值中间,等间隔地摆放256个不同的格子,然后每个参数值都跳进离它最近的格子里。 - -如果原始数值相当接近,它们就极有可能最终跳入同一个"格子"。如此一来,这些数值在量化后就会归并为一个,从而引起误差。 - -再举个例子,假设我们有另一个浮点数数组weights_fp32 = [-128, 0, 0.1, 0.2, 0.3, 127]。在这种情况下,scale正好等于1, 量化公式简化为q = int(x),那么量化后的结果就是[-128, 0, 0, 0, 0, 127]。 - -在这个具体的案例中,我们看到参数值相邻且接近0的情况比较多。原本不同的数值最终都被归入同一个格子,这就产生了误差。如果我们按照分位数进行映射,那么相同参数范围内的量化结果将会更加离散。例如,使用分位数映射,量化后的数值有可能是[-128, 0, 2, 4, 6, 127]。请注意,这里的数值只是为了演示而随意设定的,实际的量化映射细节将更加复杂,是需要根据数据分布的分位数来确定的。 - -### block与Double Quant - -NF4量化策略基于一项假设:参数服从标准正态分布,并以此为依据,更科学地将32位浮点数映射到4位整数,以尽可能减少精度损失。4位表示意味着我们只有16个取值可用,可以想象成仅有16个"格子"。如果参数被规整的方式均匀地分布到这些有限的"格子"中,显然模型的精度可能会遭受损害。 - -典型的量化做法是为了削弱异常值的影响,将输入张量划分为若干块(block),并对每个块分别进行量化,让每个块都有独立的缩放因子(scale)和零点(zero)。这种策略可以显著降低由于量化引起的精度损失(如下图中显示的橙色误差区域,图片来自于互联网)。 - - - - - - -在QLoRA框架中,采用64个参数构成一个block进行量化,即block_size=64,每个块计算出一个对称量化中用到的Scale值。因为是对称量化,我们不必存储零点这个值。(值得一提的是,如果block的大小等于所有参数的总量,这就相当于没有划分任何block) - -如果以32位浮点数存储Scale,那么每个block将会额外存储一个32位数字,分摊到每个参数上,这意味着每个参数实际上需要额外的32/64=0.5bit存储空间。因此,每个参数实际占用的存储空间变成了4+0.5=4.5bits。 - -为了优化这一存储需求,研究人员提出了Double Quant策略,即对Scale本身再进行一次量化;不过这里使用的是线性量化方法,量化后的格式为FP8,其中block_size=256。 - -注:之前提到,参数的分布大致服从正态分布,而非均匀分布,因此采用非线性量化。对于scale,研究人员采用线性量化的方式,其背后的考量还有待研究者揭示。随机生成64个服从标准正态分布的数,最大值和最小值之差的分布实际上并不服从均匀分布,如下图所示: - - - - - - -Double Quant 后,每个参数做量化只需要额外的 8/64 + 32 / (64*256) = 0.127 bits 显存。 - -Double Quant策略通过对量化系数Scale再次进行量化,有效地降低了每个参数所需的额外存储开销。在这一策略的应用之下,每个参数的总量化开销降至大约0.127 bits的额外显存,极大程度上节约了资源。这种存储优化的方法让大规模模型能够在资源有限的设备上高效运行,同时保持了模型的性能和精度。 - -## 实战代码 - -### 8bit量化 - -代码: - - - -``` -model = AutoModelForCausalLM.from_pretrained("Llama-2-7b-ms", -low_cpu_mem_usage=True, -load_in_8bit=True, -device_map="auto") -``` - -模型参数类型: - - - -模型参数量: - - - -``` -sum(param.numel() for param in model.parameters()) -``` - -output: 6738415616 - -=(4096*4096*4+11008*4096*3)*32+2*32000*4096+2*4096*32+4096(最后有一个norm层) - -模型占用内存: - - - - - - -开启训练后的参数增量:1G - -### FP4量化 - -代码: - - - -``` -model = AutoModelForCausalLM.from_pretrained("Llama-2-7b-ms", -low_cpu_mem_usage=True, -load_in_4bit=True, -device_map="auto") -``` - -模型参数类型: - - - - - - -有几个需要注意的点: - -1.embedding层和layernorm层是float16格式 - -2.剩余层竟然是uint8格式,这一点比较奇怪,而且参数矩阵的shape也比较奇怪。 - -llama-7b的hiddensize=4096,ffn_dim=11008 - -注意到22544384=4096*11008/2 - -8388608=4096*4096/2 - -我的猜测是,两个fp4相当于组成了一个uint8。 - -3.模型参数量变成了3504607232, - -(4096*4096*4+11008*4096*3)*16+2*32000*4096+2*4096*32+4096=3500412928 - -还相差一个4096*1024=4096*(8*4)*32是lora层,lora的隐藏参数是8,然后QV两个地方用到了lora - -这样加起来等于3504607232 - -模型占用内存: - - - - - - -开启训练后的参数增量:1.3G - -### NF4量化 - -代码: - - - -``` -from transformers import BitsAndBytesConfig -import torch -nf4_config = BitsAndBytesConfig( - load_in_4bit=True, - bnb_4bit_quant_type="nf4", - bnb_4bit_use_double_quant=True, - bnb_4bit_compute_dtype=torch.bfloat16 -) -model = AutoModelForCausalLM.from_pretrained("Llama-2-7b-ms", -low_cpu_mem_usage=True, -quantization_config=nf4_config, -device_map="auto") -``` - -参数解释: - -load_in_4bit:替换Linear层为FP4/NF4层,启用4位量化 - -bnb_4bit_compute_dtype:设置计算类型,它可能与输入时的类型不同。例如,输入可能是fp32,但计算可以设置为bf16以获得速度提升。 - -bnb_4bit_use_double_quant:是否开启double_quant - -bnb_4bit_quant_type:有两个参数可以选fp4和nf4,默认是fp4 - -注意,在后面的TrainingArguments中,应设置optim="paged_adamw_32bit",否则训练阶段会报错 - -模型参数类型: - - - - - - -量化的层仍然是uint8格式 - -参数量:3500412928+4194304,和FP4的情况一样 - - - - -模型占用内存: - - - -开启训练后的参数增量:1G - -## Q&A - -1.NF4格式能否被直接用于运算? - -答:NF4是一种专有的数据格式。当前的Tensor Core或CUDA Core并不支持直接对NF4格式数据进行运算。 - -2.在QLORA中,什么是存储数据类型和计算数据类型分别是什么?在前向和后向传播中,我们是如何将存储数据类型转化为计算数据类型的?在参数更新过程中,我们只计算哪些权重的梯度? - -在QLORA中,存储数据类型通常是4位的NormalFloat(NF4),而计算数据类型通常是16位的BrainFloat(BFloat16)。 - -在前向传播和后向传播过程中,我们将存储数据类型转化为计算数据类型的方法是通过进行反量化(dequantization)操作。具体来说,在权重张量被使用时,我们将其从存储数据类型(NF4)反量化为计算数据类型(BFloat16),然后进行16位的矩阵乘法运算。 - -在参数更新过程中,我们只计算适配器(adapter)权重的梯度,而不计算4位权重的梯度。这意味着我们只对适配器的参数进行更新,而对4位权重不进行更新。 - -3.QLoRA的效果怎么样? - -通过实施NF4量化加上二次量化的策略,对模型进行微调后的精度能够与BFloat16相媲美。 - -## 附录:本文例子中的代码 - -### 1.标准正态分布(等间隔量化) - - - -``` -import numpy as np -import matplotlib.pyplot as plt -from scipy.stats import norm - - -# 参数: 均值(mu)和标准偏差(sigma) -mu, sigma = 0, 1 -# 生成x轴上均匀的值,覆盖正态分布的大部分区域 -x = np.linspace(mu - 4*sigma, mu + 4*sigma, 1000) -# 计算正态分布的概率密度函数值 -pdf = norm.pdf(x, mu, sigma) - - -plt.figure(figsize=(10, 6)) -plt.plot(x, pdf, label='正态分布') - - -# 量化级别的示例,比如8个均匀间隔的级别 -quant_levels = 8 -min_quant = mu - 3*sigma -max_quant = mu + 3*sigma -quant_values = np.linspace(min_quant, max_quant, quant_levels) -for value in quant_values: - plt.axvline(value, color='r', linestyle='--') - - -# 高亮显示可能产生粘连的区域 -for i in range(quant_levels - 1): - plt.fill_betweenx(pdf, quant_values[i], quant_values[i + 1], color='y', alpha=0.3) - - -# plt.title('正态分布与量化级别') -# plt.legend() -# plt.xlabel('值') -# plt.ylabel('概率密度') -plt.grid(True) -plt.show() -``` - -### 2.标准正态分布(按分位数量化) - - - -``` -import numpy as np -import matplotlib.pyplot as plt -from scipy.stats import norm - - -# Parameters: mean (mu) and standard deviation (sigma) -mu, sigma = 0, 1 -# Generate some x values evenly over the range of the distribution -x = np.linspace(mu - 4*sigma, mu + 4*sigma, 1000) -# Calculate the probability density function (pdf) for the normal distribution -pdf = norm.pdf(x, mu, sigma) - - -plt.figure(figsize=(10, 6)) -plt.plot(x, pdf, label='Normal Distribution') - - -# Calculate quantiles using the cumulative distribution function (CDF) -quantiles = norm.ppf([i/8 for i in range(1, 8)], mu, sigma) -# Draw vertical lines at quantile positions -for quantile in quantiles: - plt.axvline(quantile, color='r', linestyle='--') - - -# Highlight regions between quantiles to show potential 'clamping' effect -for i in range(len(quantiles) - 1): - plt.fill_betweenx(pdf, quantiles[i], quantiles[i + 1], color='y', alpha=0.5) -# Highlight the first and last region -plt.fill_betweenx(pdf, mu - 4*sigma, quantiles[0], color='y', alpha=0.5) -plt.fill_betweenx(pdf, quantiles[-1], mu + 4*sigma, color='y', alpha=0.5) - - -# Annotate quantiles on the plot -for i, quantile in enumerate(quantiles): - plt.text(quantile, 0.02, f'{(i+1)*12.5}%', ha='center', va='bottom', color='black') - - -plt.title('Normal Distribution with Equal Area Quantiles') -plt.legend() -plt.xlabel('Values') -plt.ylabel('Probability Density') -plt.grid(True) -plt.show() -``` - -### 3.最大值减去最小值的分布 - - - -``` -import numpy as np -import matplotlib.pyplot as plt - - -# 设置随机种子,用于结果复现 -np.random.seed(0) - - -# 指定生成的数据组数 -num_samples = 100000 - - -# 创建一个空列表来存储每组数值的最大值和最小值之差 -max_min_diffs = [] - - -# 对于每组64个标准正态分布的随机数,找到最大值和最小值之差,并添加到列表中 -for _ in range(num_samples): - values = np.random.randn(64) - max_val = np.max(values) - min_val = np.min(values) - max_min_diff = max_val - min_val - max_min_diffs.append(max_min_diff) - - -# 可视化结果 -plt.figure(figsize=(10, 6)) -plt.hist(max_min_diffs, bins=50, alpha=0.7, color='blue') -plt.title('Distribution of the Difference Between Max and Min Values (64 Normal Samples)') -plt.xlabel('Max - Min Value') -plt.ylabel('Frequency') -plt.grid(True) -plt.show() -``` - -## 参考资料 - -### 官方 - -[https://huggingface.co/blog/zh/4bit-transformers-bitsandbytes](https://huggingface.co/blog/zh/4bit-transformers-bitsandbytes) - -[https://huggingface.co/blog/zh/hf-bitsandbytes-integration](https://huggingface.co/blog/zh/hf-bitsandbytes-integration) - -### 非官方 - -QLoRA、GPTQ:模型量化概述 - 杨远航的文章 - 知乎 - -[https://zhuanlan.zhihu.com/p/646210009](https://zhuanlan.zhihu.com/p/646210009) - -大模型微调实战(八)-使用INT8/FP4/NF4微调大模型 - 吃果冻不吐果冻皮的文章 - 知乎 - -[https://zhuanlan.zhihu.com/p/670116171](https://zhuanlan.zhihu.com/p/670116171) - -QLoRA——技术方案总结篇 - 52AI的文章 - 知乎 - -[https://zhuanlan.zhihu.com/p/632717605](https://zhuanlan.zhihu.com/p/632717605) - -【【手把手带你实战HuggingFace Transformers-低精度训练篇】4bit量化与QLoRA模型训练】 - -[【手把手带你实战HuggingFace Transformers-低精度训练篇】4bit量化与QLoRA模型训练_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1DQ4y1t7e8/%3Fshare_source%3Dcopy_web%26vd_source%3D97da61a87d5a14ca15b351252ae0f105) - -大模型高效微调-QLoRA代码实战 - 老苏聊AI的文章 - 知乎 - -[老苏聊AI:大模型高效微调-QLoRA代码实战](https://zhuanlan.zhihu.com/p/648351853) - -
- -[https://zhuanlan.zhihu.com/p/676998456](https://zhuanlan.zhihu.com/p/676998456)
- - - diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/0.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/0.jpg deleted file mode 100644 index 3d0e055..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/0.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/1.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/1.jpg deleted file mode 100644 index a59239f..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/1.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/10.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/10.jpg deleted file mode 100644 index bfb68aa..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/10.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/11.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/11.jpg deleted file mode 100644 index b63f129..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/11.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/12.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/12.jpg deleted file mode 100644 index 63a4aa7..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/12.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/13.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/13.jpg deleted file mode 100644 index fe97a37..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/13.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/14.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/14.jpg deleted file mode 100644 index b6fcfe7..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/14.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/15.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/15.jpg deleted file mode 100644 index d3fdd08..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/15.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/16.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/16.jpg deleted file mode 100644 index 29627d0..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/16.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/17.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/17.jpg deleted file mode 100644 index 7e54bfe..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/17.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/18.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/18.jpg deleted file mode 100644 index cdbfc75..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/18.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/19.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/19.jpg deleted file mode 100644 index 2ed2604..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/19.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/2.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/2.jpg deleted file mode 100644 index 68e9a2d..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/2.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/20.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/20.jpg deleted file mode 100644 index 0972fd7..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/20.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/2024-03-05_19_02・IP_属地河南.txt b/article/2024-03-05_19_02_考研数学_IP_属地河南/2024-03-05_19_02・IP_属地河南.txt deleted file mode 100644 index 9a0cbe6..0000000 --- a/article/2024-03-05_19_02_考研数学_IP_属地河南/2024-03-05_19_02・IP_属地河南.txt +++ /dev/null @@ -1,2 +0,0 @@ -2024-03-05_19_02・IP_属地河南 -https://zhuanlan.zhihu.com/p/357597649 \ No newline at end of file diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/21.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/21.jpg deleted file mode 100644 index 430bd12..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/21.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/22.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/22.jpg deleted file mode 100644 index c7d6823..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/22.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/23.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/23.jpg deleted file mode 100644 index c29f953..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/23.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/24.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/24.jpg deleted file mode 100644 index 4104bb2..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/24.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/25.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/25.jpg deleted file mode 100644 index 206a5cd..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/25.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/26.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/26.jpg deleted file mode 100644 index 8f72485..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/26.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/27.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/27.jpg deleted file mode 100644 index b35c9e3..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/27.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/28.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/28.jpg deleted file mode 100644 index 6c4627e..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/28.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/29.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/29.jpg deleted file mode 100644 index d706f68..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/29.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/3.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/3.jpg deleted file mode 100644 index 5f3bc9a..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/3.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/30.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/30.jpg deleted file mode 100644 index b349d76..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/30.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/31.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/31.jpg deleted file mode 100644 index d27d9a8..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/31.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/4.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/4.jpg deleted file mode 100644 index a8d7d8c..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/4.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/5.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/5.jpg deleted file mode 100644 index b51f00f..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/5.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/6.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/6.jpg deleted file mode 100644 index 92a6d9d..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/6.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/7.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/7.jpg deleted file mode 100644 index 7b4d7f8..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/7.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/8.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/8.jpg deleted file mode 100644 index a3c56ce..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/8.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/9.jpg b/article/2024-03-05_19_02_考研数学_IP_属地河南/9.jpg deleted file mode 100644 index ccbf683..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/9.jpg and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/考研数学.pdf b/article/2024-03-05_19_02_考研数学_IP_属地河南/考研数学.pdf deleted file mode 100644 index ff02dcf..0000000 Binary files a/article/2024-03-05_19_02_考研数学_IP_属地河南/考研数学.pdf and /dev/null differ diff --git a/article/2024-03-05_19_02_考研数学_IP_属地河南/考研数学_formula_.md b/article/2024-03-05_19_02_考研数学_IP_属地河南/考研数学_formula_.md deleted file mode 100644 index 1b310d4..0000000 --- a/article/2024-03-05_19_02_考研数学_IP_属地河南/考研数学_formula_.md +++ /dev/null @@ -1,261 +0,0 @@ -# 考研高数学习笔记汇总(上下册全) - -[转载自](https://zhuanlan.zhihu.com/p/357597649) - - **其他笔记:** - -[考研《线性代数》学习笔记汇总](https://zhuanlan.zhihu.com/p/359751168) - -[考研《概率论与数理统计》学习笔记汇总](https://zhuanlan.zhihu.com/p/360121829) - - - - - **本文会放出前三个部分的笔记,剩余部分点击下面目录导航的链接可以直接跳转。为提高同学们的观看体验,图片均已做去水印处理** - - **如果对你有帮助,就点个赞支持一下吧** - - **需要数学答疑的同学请看我的付费咨询简介** - -高等数学 - -351 次咨询5.0 - - - -72344 次赞同 - - - -去咨询 - - - - - - **关注我** - -[@高等数学](//www.zhihu.com/people/15ad85fb4ee4cc62fee012b11f57577e) - - - - **获取更多大学/考研数学学习资料** - -## 目录导航 - - **1.** 函数极限连续:图1-11 - - **2.** 一元函数微分学:图12-19 - - **3.** 微分中值定理:图20-32 - - **4.** - -[不定积分与定积分](https://zhuanlan.zhihu.com/p/357865954) - - **5.** - -[多元函数微分学](https://zhuanlan.zhihu.com/p/357868540)(偏导数等) - - **6.** - -[二重积分的计算](https://zhuanlan.zhihu.com/p/357870555) - - **7.** - -[多元函数积分学](https://zhuanlan.zhihu.com/p/357874754)(三重积分、曲线积分、曲面积分等) - - **8.** - -[微分方程](https://zhuanlan.zhihu.com/p/357882562) - - **9.** - -[无穷级数](https://zhuanlan.zhihu.com/p/357885739) - -## 函数、极限、连续 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## 一元函数微分学 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## 中值定理 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -[https://zhuanlan.zhihu.com/p/357597649](https://zhuanlan.zhihu.com/p/357597649)
- - - diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/0.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/0.jpg deleted file mode 100644 index cab8cbf..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/0.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/1.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/1.jpg deleted file mode 100644 index 017be33..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/1.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/10.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/10.jpg deleted file mode 100644 index 8ffb092..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/10.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/11.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/11.jpg deleted file mode 100644 index 51adc7c..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/11.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/12.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/12.jpg deleted file mode 100644 index 61ae09d..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/12.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/13.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/13.jpg deleted file mode 100644 index 709318e..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/13.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/14.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/14.jpg deleted file mode 100644 index 75dfc69..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/14.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/15.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/15.jpg deleted file mode 100644 index f8f4763..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/15.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/16.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/16.jpg deleted file mode 100644 index d48ff7e..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/16.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/17.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/17.jpg deleted file mode 100644 index 0c61e01..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/17.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/2.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/2.jpg deleted file mode 100644 index 59cc4b2..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/2.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/2024-03-24_19_18・IP_属地北京.txt b/article/2024-03-24_19_18_零极点图2_IP_属地北京/2024-03-24_19_18・IP_属地北京.txt deleted file mode 100644 index 5ff3f04..0000000 --- a/article/2024-03-24_19_18_零极点图2_IP_属地北京/2024-03-24_19_18・IP_属地北京.txt +++ /dev/null @@ -1,2 +0,0 @@ -2024-03-24_19_18・IP_属地北京 -https://zhuanlan.zhihu.com/p/688758844 \ No newline at end of file diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/3.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/3.jpg deleted file mode 100644 index c7a93d8..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/3.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/4.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/4.jpg deleted file mode 100644 index 60a2af4..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/4.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/5.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/5.jpg deleted file mode 100644 index fc76d39..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/5.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/6.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/6.jpg deleted file mode 100644 index 46fca7d..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/6.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/7.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/7.jpg deleted file mode 100644 index 40f70d8..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/7.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/8.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/8.jpg deleted file mode 100644 index cd3995c..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/8.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/9.jpg b/article/2024-03-24_19_18_零极点图2_IP_属地北京/9.jpg deleted file mode 100644 index 70be805..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/9.jpg and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/零极点图2.pdf b/article/2024-03-24_19_18_零极点图2_IP_属地北京/零极点图2.pdf deleted file mode 100644 index e1ad04c..0000000 Binary files a/article/2024-03-24_19_18_零极点图2_IP_属地北京/零极点图2.pdf and /dev/null differ diff --git a/article/2024-03-24_19_18_零极点图2_IP_属地北京/零极点图2_formula_.md b/article/2024-03-24_19_18_零极点图2_IP_属地北京/零极点图2_formula_.md deleted file mode 100644 index a2f9e13..0000000 --- a/article/2024-03-24_19_18_零极点图2_IP_属地北京/零极点图2_formula_.md +++ /dev/null @@ -1,163 +0,0 @@ -# 干货周记:三分钟弄懂零极点图(上)(番外篇2) - -[转载自](https://zhuanlan.zhihu.com/p/688758844) - - **闲白** - -如果你是学EE专业的,或者从事电子工程类工作,那你应该体会过,傅里叶变换、拉普拉斯变换和Z变换的威力 - -早年上学时,常能在学校BBS论坛上,刷到这句话: **傅里叶,一生之敌** 。但咱得承认,傅里叶等相关变换在实践中,是极其实用的存在。 - -只可惜,我们在教科书上看到的,往往是枯燥的公式,而很少领略过它们的魅力。Roy当年《数字信号处理》97分(满分100),在多年后,面对最简单的信号分析时,依然不知所措。任督二脉没打通,只能“拔剑四顾心茫然”。咱得会把知识转化为武器,用起来。 - -说到武器,刀枪剑戟、斧钺钩叉,那可太多了。但咱今儿就介绍个实用的:零极点图的 **速成法** ,它在系统函数分析、滤波器设计和DSP实操中,都用得上。 - -本文主要分上下,共三部分: **各种变换的现实意义** 、如何手撕零极点图, **Roy的提醒** 。 - - **这些变换都是啥,有啥用?** - -凡事皆有意义,故在进入正题之前,为防止纸上谈兵,咱有必要先把“这些变换、零极点,它们都是啥,能干啥?”搞清楚。正所谓: 谋定而后动。 - - **傅里叶变换: 基础中的基础** 。高数、信号处理、神经网络,哪都有它。通俗地讲,它能把看似复杂的信号,分解成多个不同频率、简单正弦波们的组合。就好比它把一段音乐,分解成了一段乐谱,乐谱上的每个音符,有其对应的频率和响度。如此,我们能清楚地看到,这段信号的频率构成。 - -换句话说,它把我们日常生活中的时间信号,映射到了频域,让我们能从另一个维度(频域)去观察这个世界。下面是我的口哨声,在时域和频域的样子: - -可见,我的口哨声,频率主要在1.3KHz附近,其泛音分布,在频域图上也是清晰可见。对比之下,我们的肉眼在凡间,则只能观察到信号的时域特征。 - -再比如,下面是音乐信号,在时域和频域空间中的模样: - - - -有了傅里叶变换,我们就多了个“透过现象看本质”的能力,让咱能从另一个维度去观察世界。咱也能更精确地把信号目标,雕刻成我们想要的样子。 - -举例:乐器效果器、EQ均衡器等,我们可在原来的音乐中,加入“佐料”,让它产生不同的“味道”。也可以把某些频段的信号干掉(比如歌手唱歌时的齿音),以改善听感。 - -这是怎么做到的呢?通过下面公式即可。 - - - -可上面公式都是指数运算,棘手又抽象。别着急,咱有"欧拉公式",可直接把它降维成三角函数。 **这一下子,就建立数据和频率的连接** 。 - - -现实生活中,随处可见的是模拟信号,如温度、声音、影像实景等。但在工程应用领域,处理的常为采样后的离散数据。这里也是DFT的主战场。 - -通过DFT公式和欧拉公式,咱不难看出,对N点数据做傅里叶变换后,也会得到N点的频域结果,且在每个频点身上,都会留下所有时域数据的痕迹。 - -从数学上看(以一维数据为例),对一个[1*N]矩阵的时域数据做DFT,相当于该[1*N]矩阵与一个[N*N]矩阵相乘。其中,[N*N]是傅里叶展开的算式, **该[N*N]矩阵中的每一列,就代表每个频点** 。 - -两矩阵相乘后,便得到的频域结果,仍为一个[1*N]的矩阵(频域),不同的是,该矩阵中的元素都是复数,且信息量更大,包含幅频特性和相频特性。 - - - - **DFT在DSP实操中的弊端:** - -一、频谱泄露。傅里叶变换是基于周期信号的假设,而实际应用中,数据又多为有限长、且非周期信号,难免会发生频谱泄露。 **改善方法** : **搭配采样率和数据点数,选择合适的窗函数。** - -二、计算量大。在DFT计算中,每个数据都要做一堆乘法、加法和三角运算,数据量大时,很吃资源。例:对0.17秒时长、采样率48KHz的信号,做8160点的DFT变换,一共要做 **66585600** 次乘法,和3 **3288720** 次加法。但大多数嵌入式平台,算力资源都很宝贵,经不起这么用。 **解决方法:上FFT** (快速傅里叶变换),补齐到8192点的FFT,只需 **53248** 次乘法,和 **106496** 次加法即可。 - -可见,与DFT相比,FFT可节省数百上千倍的计算量。但凡事都有两面性,其谱线位置也受到了2的N次幂的限制。但也别太担心,这已足够应付大多数情况。 - - - **拉普拉斯变换:多维的连续傅里叶变换** 。 - -别被上面的描述唬住了,这只是我的不严谨措辞(为方便理解)。说它多维度,是因为它在傅里叶变换的基础上,引入了衰减因子,即多乘了个e^(-σt)做衰减。 - -你可能会纳闷:人家傅里叶算得好好的,拉普拉斯为啥非要加衰减因子呢? - - **根本原因:** 有些信号并不老实,会随着时间的延展越来越大,不收敛。对于这些信号,只靠傅里叶,就压制不住了,得上新武器: **衰减因子** 。 - - - -上图是e^(-σt)威力的简单体现,衰减力度不可谓不大。有了它,我们就能基于此"幅度制约术",去约束那些不可控信号了。 - - - -为了表达简洁,我们对s做了层数学封装(令s= σ + jω),请先记住它们,因为σ 和 jω将是S域零极点图中的横纵轴坐标。 - -不难理解,当σ=0时,衰减因子=1,此时不增不减,“拉普拉斯变换”就是“傅里叶变换”本体; - -当σ=1时,拉普拉斯变换在幅度上,会比傅里叶变换更小些; - -当σ=2时,拉普拉斯变换在幅度上,会更小些; - -... - -反过来,当σ<0时,会使“衰减因子”变成“增长因子”,系统稳定性也会变弱。这一点,在S域的收敛性域中,也会有所体现。 - -好,让我们再发挥下想象力: **傅里叶变换,其实就是拉普拉斯变换在σ=0处的一个切片。** 在拉普拉斯变换空间中,有着无数多个类似的切片,它们幅度随σ的不同而不同,举例如下: - - - -S域的坐标图,其实就是上图的俯视图(二维),幅度的凸凹(即极点和零点),只能用 **x** 和 **o** 表示。 - -说到这,有没有联想到,咱高中物理课本上的,通电螺线管的磁感线方向?对,它也是用 **x** 和 **o** 来表示方向的。 - - - - **注意:** 拉普拉斯变换,只是针对连续信号的。实战中,其应用场景,主要在模拟电路上。比如,你要用运算放大器,设计一款贝赛尔滤波器。与数字滤波器设计类似,你只需有目标Q值、截至带宽、中心频率等即可,它们可轻松对应到其S域的传递函数。 - -曾有个日本人,把他多年用拉式变换 + 有源滤波器的经验,总结成了一本书,有不少干货,非常推荐。 - -S域传递函数H(s),和具体电路怎么联系?别忘了,s≈jw,而容抗Xc=1/sC,感抗Xl=sL,就这样,咱可在运放电路上列节点方程,得到对应的Vo/Vi = H(s),它代表了该电路系统的特征。我们根据这个传函,分解之,就能得到其零极点数量与位置了。至此, **你就可以开启上帝视角,去分析/设计滤波器了** 。 - - **Z变换:叠了甲的拉普拉斯变换** 。 - -说Z变换叠甲,是因为它在拉式变换的基础上,又做了层封装。引入了z=e^(sT),其中, s= σ + jω, T为采样时间(即1/fs)。 - -有朋友又纳闷了,本来就头大了,竟还多此一举?原因有二: - - **一、Z变换成功地把拉式变换,从连续域变到了离散域。** 如此,Z变换就在数字世界和物理世界之间,搭了座桥。我们也就可以借此,在数字域大有作为了,如: DSP芯片中高速处理的,大都是经过采样的离散数字信号。 - - **二、其表达式也更优雅了。** 如下: - - -由于实际工程应用,大都是因果系统,故多用 **单边计算** 。 - -此外,S域到Z域的映射,也需要想象力: **Z变换是拉式变换的离散形态。** Z最终形态可化为A*e^(-jφ),其中φ=ω*T,于是 **s平面中的实轴,映射到Z平面,就是单位圆。** - -也就是说, **傅里叶变换不仅是S变换的实轴切片,它也是Z变换上的单位圆切片。** - - - -啰嗦了这么多,Roy正要上干货时,回头一看,已经码出三千多字了。看来只用一篇文章,铁定是讲不完了。 -有了这期的基础,咱下期的干货输出,会更纯粹: **如何手撕零极点图。** - - - **提醒** - -一、本文只为工程应用/分析,是从工具角度出发,剖析并不深入。 - -二、Roy已不是专业研发,理解上难免有瑕疵,如有表述不当之处,请给我私信/留言。 - -三、现有的很多软件工具,可直接做系统设计/仿真。这固然好,但咱也要警惕:太依赖工具软件,可能会让我们理解不够深入,很难对系统做深度思考。 - - -End - -Roy个人观点,仅供参考。 - - - - - - - - - - - - - - - - - - - - -
- -[https://zhuanlan.zhihu.com/p/688758844](https://zhuanlan.zhihu.com/p/688758844)
- - - diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/0.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/0.jpg deleted file mode 100644 index 0ad466b..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/0.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/1.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/1.jpg deleted file mode 100644 index 54d3575..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/1.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/10.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/10.jpg deleted file mode 100644 index aac8114..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/10.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/2.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/2.jpg deleted file mode 100644 index 6fc07ef..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/2.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/2024-03-31_18_28・IP_属地北京.txt b/article/2024-03-31_18_28_零极点图3_IP_属地北京/2024-03-31_18_28・IP_属地北京.txt deleted file mode 100644 index a1a7a95..0000000 --- a/article/2024-03-31_18_28_零极点图3_IP_属地北京/2024-03-31_18_28・IP_属地北京.txt +++ /dev/null @@ -1,2 +0,0 @@ -2024-03-31_18_28・IP_属地北京 -https://zhuanlan.zhihu.com/p/690031301 \ No newline at end of file diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/3.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/3.jpg deleted file mode 100644 index 80da616..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/3.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/4.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/4.jpg deleted file mode 100644 index 978f8ce..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/4.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/5.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/5.jpg deleted file mode 100644 index 709318e..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/5.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/6.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/6.jpg deleted file mode 100644 index 972dad2..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/6.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/7.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/7.jpg deleted file mode 100644 index 9a767df..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/7.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/8.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/8.jpg deleted file mode 100644 index 54cb198..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/8.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/9.jpg b/article/2024-03-31_18_28_零极点图3_IP_属地北京/9.jpg deleted file mode 100644 index 3ad4f42..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/9.jpg and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/零极点图3.pdf b/article/2024-03-31_18_28_零极点图3_IP_属地北京/零极点图3.pdf deleted file mode 100644 index 8e939a4..0000000 Binary files a/article/2024-03-31_18_28_零极点图3_IP_属地北京/零极点图3.pdf and /dev/null differ diff --git a/article/2024-03-31_18_28_零极点图3_IP_属地北京/零极点图3_formula_.md b/article/2024-03-31_18_28_零极点图3_IP_属地北京/零极点图3_formula_.md deleted file mode 100644 index abd49d5..0000000 --- a/article/2024-03-31_18_28_零极点图3_IP_属地北京/零极点图3_formula_.md +++ /dev/null @@ -1,173 +0,0 @@ -# 干货周记:三分钟弄懂零极点图(下)(番外篇3) - -[转载自](https://zhuanlan.zhihu.com/p/690031301) - - **前集回顾** - -话说上期,我们聊到了,如何在现实世界中,通俗地理解“傅里叶变换”、“拉普拉斯变换”和“Z变换”的奥妙。为加深印象,咱在开启本篇的话题之前,再做个前集回顾: - -在上篇文章《 - -[干货周记:三分钟弄懂零极点图(上)(番外篇2)](https://zhuanlan.zhihu.com/p/688758844)》中:我们搞懂了,“傅里叶变换”和“欧拉公式”这对组合,能完美地把时域信号,映射到了频域,从而让咱能多了个视角去观察世界。 - -但大千世界,无奇不有,有些信号吧,它不可积,也不稳定,如果要分析它们,那“傅里叶”的法力就不够用了,咱得用带“衰减因子”的“拉普拉斯变换”稳住局面。 - - - -同时,咱也清楚了:为啥“傅里叶变换”只是“拉氏变换”的一个切片,为啥“Z变换”只是叠了层“甲”的“拉普拉斯变换”。有了这些基础,咱在上期的结尾部分,终于引出了S域和Z域的零极点图。 - -下面,咱尽量简化,不讲太细,直接把干货浓缩成“作业指导书”,捧起来就知道该怎么用。话不多说,上干货。 - - **啥是零极点图?** - -看到下面两幅零极点图,你可能会想:这玩意儿也太抽象了吧,它真能帮咱分析系统特性吗?别急,咱一步步来。 - - - -那啥是零极点图呢?它本质上就是 **“拉氏变换”和“Z变换”等的系统特性表示图。** 基于它,你可以透过现象看本质,一眼洞穿其系统特性。听着挺玄乎,其实也没啥神秘的,看完这篇文章,你就明白咋回事了。 - -咱先回忆下,“ **傅里叶变换”的系统特性表示图是什么?** 是 **波特图** (即幅频图和相频图),当看到下左图时,你很快就能认出,这是个低通滤波器系统,因为其对高频部分有衰减,甚至哪里可能有个极点,你都能一目了然。 - - - - - - -如果说“傅里叶变换”的系统特性表示图,是2D的波特图,那多加了一维的“拉氏变换”和“Z变换”的系统表示图,理应用3D图来表示。但以S域零极点图( **下右图** )为例,其本质也就是 **下左图** 的俯视图,幅度的凸凹(即极点和零点),分别用 **x** 和 **o** 表示。看上去还是2D的,不够炫酷。 - - - - - - - - - -这主要是因为,早期的前辈们,受限于当年的计算机性能,无法随心所欲地做仿真/建模,更不好在纸上呈现3D,不得已才祭出了“零极点图”这种近似分析工具。 - - **Roy制作** - - -说到这,“零极点图”似乎还有点复古风,我更喜欢称之为2.5D图。 - -类似的表现手法,在STFT或小波变换上也有所体现,区别只是去掉了“衰减因子”维度,引入了“衰减因子”维度,把用“零极点”表示幅度变化趋势,改成了用“色彩强弱”表示幅度。 - - - - - - - - - - **看清“零极点图”真面目** - -说到“零极点图”,我们要先搞清楚是哪个域的图。“S域”(拉普拉斯域),还是“Z域”?一般而言,模拟系统分析和滤波器设计,常在S域做分析;而数字系统与滤波器设计,则常在Z域做分析。 - -另外,零极点图中,无论S域还是Z域,X都代表极点,也是幅度凸点。O都代表零点,也是幅度凹点。这种表达方式,和高中物理中的磁感线方向的呈现手法,有些类似。 - - - - **S域“零极点图”分析的核心:** - -一、横轴代表衰减程度(左侧有衰减,更安全),纵轴代表频率,一般仅关注上半轴/正频率,原点为f=0处,Y轴向上是f=+∞方向,可基于此看频响特性。 - -二、极点会造成幅度凸点(Peak),零点会造成幅度凹点(Notch)。无论零点还是极点,离横轴原点越近,其影响力就越大。 - -三、图上的每一个点(σ+jω),都代表了该系统在对应频点上的分布,以及其对应的衰减特征。 - -四、当极点落在σ=0的虚轴上时,系统临界稳定。极点落在左半平面时,系统稳定,极点飘到右半平面时,系统不稳定,会自激、会啸叫。 - - - - - **举例:** 下图中,在w=0处有两个极点凸起,很显然,这是一个二阶LPF低通滤波器,综合滚降斜率为-40dB/Dec - - - - - - -同样的,不难得出以下结论: - - - -这是个一阶高通滤波器HPF。虽然在ω=0处有极点也有零点,但离原点近的影响力更大,其主导作用,所以在这里ω=0(DC)时,零点赢了,故在右面的幅频图中f=0处幅度也为0,很明显的HPF。 - -类似的,下面的零极点图,表示的是个带通BPF。正轴极点对应的ω值,也对应了右面频点的凸起位置。 - - - - **Z域“零极点图”分析的核心:** - -一、Z域零极点图,是极坐标形式。离单位圆的距离代表衰减程度(单位圆内有衰减,更安全),旋转角度可代表频率(φ=0时为DC,φ=π时,ω=fs/2,即待分析信号的奈奎斯特带宽)。通常分析时,只需看第一第二象限(φ=0~π) - - - -二、极点会造成幅度凸点(Peak),零点会造成幅度凹点(Notch)。无论零点还是极点,离单位圆原点越近,其影响力就越大。 - -三、图上的每一个点Re(z)+Im(z),都代表了该系统在对应频点上的分布,以及其对应的衰减特征。频点信息可根据角度信息解析得出。 - -四、当极点落在单位圆上时,系统临界稳定。极点落在单位圆内,系统稳定,极点飘到单位圆外,系统不稳定,会自激、会啸叫。很多时候设计时,需要留有足够的裕量,否则可能会导致极点飘到单位圆外。(如ANC系统的次级路径变化时,可能会导致系统自激振荡) - - - - -无论S域还是Z域,一句话小结: **本质上就是在系统中,通过设计零极点个数,及其摆放位置,使得系统达到目标特性。** 举例:ANC系统,通过测量和理论计算,可以得到前馈系统的目标传函,工程师们可通过在Z平面上,摆放设计好的零极点,从而达到目标特性。 - - **然而,“零极点图”有优点也有缺点,它并非人见人爱。** - - **优点:** 简单、直观,快。通过“零极点图”这个可视化平台,设计者可直观地分析出系统的频响特性,快速分辨系统稳定性,而不需要繁琐的计算。举例:在用“零极点图”设计滤波器时,工程师直接就开启了“上帝视角”,通过调整零极点位置的摆放,就能灵活地改变系统特性。 - - - - **三个缺点** : - -一、线性时不变的枷锁。“零极点图”主要适用于”线性时不变“系统分析,而对”时变系统“无能为力。 - -二、精度有限。无法提供精确的幅度信息,也不能精确得到幅频和相频响应的具体曲线形状。 - -三、对超高阶系统,可读性会下降。很难想象,面对一大堆零极点密密麻麻的分布图,脑子里原始洞察力,会何去何从。 - - - - -总之,零极点图是个高效直观的系统分析工具,但它也有自身的局限性,对复杂系统或需精确信息的场合,结合其他“武器”使用,效果最佳。 - - - - -最后,咱再留个思考题:上述只是针对幅频做了分析, **那相频呢?** 零极点的影响又当如何分析,相位裕度该怎么把握,如何摆放零点,能把不稳定系统,补偿为稳定系统?欢迎私信/留言。 - - - - -End - -Roy个人观点,仅供参考。 - - - - - - - - - - - - - - - - - - - - -
- -[https://zhuanlan.zhihu.com/p/690031301](https://zhuanlan.zhihu.com/p/690031301)
- - - diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/0.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/0.jpg deleted file mode 100644 index 90fb831..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/0.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/1.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/1.jpg deleted file mode 100644 index cba6835..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/1.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/10.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/10.jpg deleted file mode 100644 index a65b72a..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/10.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/11.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/11.jpg deleted file mode 100644 index 67392ae..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/11.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/12.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/12.jpg deleted file mode 100644 index 30c428b..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/12.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/13.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/13.jpg deleted file mode 100644 index 6f5be61..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/13.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/14.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/14.jpg deleted file mode 100644 index eaf2f97..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/14.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/15.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/15.jpg deleted file mode 100644 index b670e9a..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/15.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/16.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/16.jpg deleted file mode 100644 index 6081bc3..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/16.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/17.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/17.jpg deleted file mode 100644 index 952704d..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/17.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/18.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/18.jpg deleted file mode 100644 index 7d3e7d7..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/18.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/19.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/19.jpg deleted file mode 100644 index 61cb864..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/19.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/2.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/2.jpg deleted file mode 100644 index acdeff0..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/2.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/20.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/20.jpg deleted file mode 100644 index daeebcc..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/20.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/2024-04-08_15_26・IP_属地马来西亚.txt b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/2024-04-08_15_26・IP_属地马来西亚.txt deleted file mode 100644 index d753b7b..0000000 --- a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/2024-04-08_15_26・IP_属地马来西亚.txt +++ /dev/null @@ -1,2 +0,0 @@ -2024-04-08_15_26・IP_属地马来西亚 -https://zhuanlan.zhihu.com/p/691026654 \ No newline at end of file diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/3.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/3.jpg deleted file mode 100644 index 1dc846e..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/3.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/4.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/4.jpg deleted file mode 100644 index 12161b2..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/4.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/5.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/5.jpg deleted file mode 100644 index dc7940c..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/5.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/6.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/6.jpg deleted file mode 100644 index dda024f..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/6.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/7.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/7.jpg deleted file mode 100644 index edcdff2..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/7.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/8.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/8.jpg deleted file mode 100644 index 0f8e561..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/8.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/9.jpg b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/9.jpg deleted file mode 100644 index ad03304..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/9.jpg and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/混频器的作用.pdf b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/混频器的作用.pdf deleted file mode 100644 index d3338ec..0000000 Binary files a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/混频器的作用.pdf and /dev/null differ diff --git a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/混频器的作用_formula_.md b/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/混频器的作用_formula_.md deleted file mode 100644 index 2006af3..0000000 --- a/article/2024-04-08_15_26_混频器的作用_IP_属地马来西亚/混频器的作用_formula_.md +++ /dev/null @@ -1,265 +0,0 @@ -# 混频器的作用是什么? - -[转载自](https://zhuanlan.zhihu.com/p/691026654) - -## **什么是混频?** - -混频是指将相信号从一个频率变换到另外一个频率的过程,它是频谱线性搬移的过程。 - -通信里的一切都是建立在数学的基础上的,这里我们可以通过三角函数的积化和差来理解混频。 - -我们可以我们假设 **Y** 是射频输入信号, **L** 是本振信号: - - - -我们将两个信号相乘,也就是混频: - - - -通过上面的公式我们可以看出,两个信号经过混频器混频后会生成两信号频率之和、差的信号,也就是信号发生了频谱搬移。 - -## **混频器原理** - -在无线通信系统中中,在发射端,需要把一个基带信号变频到射频频率;在接收端,需要把一个射频频率变频到基带信号。这种频率搬移的操作,称为混频,而实行这种操作的器件,称为混频器。所有的混频器,都可以看作乘法器。但是,从混频器实现的角度看,混频器可以分为加性混频和乘性混频。 - -当RF和LO信号施加在同样的输入端口上时,称为加性混频;当RF和LO信号施加在不同的端口时,称为乘性混频。一般来说,乘性混频器会比加性混频器具有更好的LO和RF端口隔离度。 - -混频器实际上是一种非线性装置,用于将信号从频谱中的一个频率移到另一个频率点。但在实际使用中,我们常常把它当成一个线性器件,因为它在进行频率转换时保持输入信号的特性不变。 - - - -如上图所示,图中描述了射频混频器中所有的频谱信号,假设Input1和Input2是输入信号,那么在混频器中将产生+/-m(Input1)+/-n(Input2)的其他信号。其中,m和n的取值范围为0,1,2,3…… - -混频器必须是非线性或是时变的,以提供所需的频率变换。它的核心是对射频信号(RF)和本振信号(LO)在时间域的相乘。这样就得到含有输入和频和差频的输出信号,输出信号幅度与RF 信号和LO信号幅度的乘积成正比。 - - - -## **什么是混频器?** - -在射频里用来混频的射频器件我们称做混频器,它需要一个射频输入信号和一个本振信号,通过将两个信号相乘产生新的混频信号,也就是我们这里所说的中频信号。混频器可称为“变频器”或者“频率转换器”,将输入信号的频率转换成另一个频率。 - -如下图所示,射频混频器有3个端口,这三个端口分别为射频(RF)输入端、本振(LO)输入端和中频(IF)输出端。其中两个为输入端口,一个为输出端口。对于上变频,IF和LO用作输入端口,RF端口作为输出端口。对于下变频,RF和LO用作输入端口,IF端口作为输出端口。 - - - -理想混频器如下图所示。RF(或IF)混频器(不要与视频和音频混频器相混淆)是一种可转换信 号频率的有源或无源器件。它既可以调制信号,也可以解调信号。 - - - -混频器将频率为f RF的RF输入信号与频率为f LO的LO信号进行混频处理,并产生由和与差频率 f RF ± fLO组成的IF输出信号。用户可以在混频器后连接带通滤波器,从而选择和频率(fRF + f LO) 或差频率(fRF – fLO)。 - - - -[全面测试混频器和变频器​www.keysight.com.cn/cn/zh/assets/3122-1732/application-notes/Comprehensive-Test-of-Mixers-and-Frequency-Converters.pdf](https://www.keysight.com.cn/cn/zh/assets/3122-1732/application-notes/Comprehensive-Test-of-Mixers-and-Frequency-Converters.pdf) - -在射频里用来混频的射频器件我们称做混频器,它需要一个射频输入信号和一个本振信号,通过将两个信号相乘产生新的混频信号,也就是我们这里所说的中频信号。 - - - -混频器(Mixer)是实施频率转换的核心元件。它可以将输入信号与用于通断二极管或晶体管的本振(LO)信号混频或倍频,得到两者之和或差。在大多数情况下,这些产物只有一个是有用的,其他的则通过滤波消除。混频器可以是无源器件,也可以是有源器件(图 1),取决于应用情况,输入信号可进入 IF(中频)端口进行上变频,或进入 RF(射频)端口进行下变频。虽然变频或混频过程在本质上是非线性的,但混频器有时候也会呈现出一定的线性 — 例如,输入信号变化 1 dB,输出信号也会变化 1 dB,混频器的幅度和相位响应与频率的关系应与输入功率无关。不过,就像放大器一样,取决于输入驱动电平的高低,混频器也具有线性和非线性工作区域。 - - - -[谐波混频器​www.keysight.com.cn/cn/zh/products/accessories/harmonic-mixers.html](https://www.keysight.com.cn/cn/zh/products/accessories/harmonic-mixers.html) - -[毫米波和微波 GaAs 混频器​www.keysight.com.cn/cn/zh/products/mmic-millimeter-wave-microwave-devices/millimeter-wave-microwave-gaas-mixers.html](https://www.keysight.com.cn/cn/zh/products/mmic-millimeter-wave-microwave-devices/millimeter-wave-microwave-gaas-mixers.html) - -## **混频器的作用** - -混频器的作用是将载频为fc(高频)的已调波信号不失真地变换为载频为 f1(固定中频)的已调波信号,并保持原调制规律不变(即信号的相对频谱分布不变)。因此,混频器也是频谱的线性搬移电路,它是将信号频谱自载频为fc的频率上线性搬移(或变换)到中频 f1上。 - -混频器是一个三端口的网络。它有两个输入信号,即输入信号uc和本地振荡信号uL,工作频率分别为 fc 和 fL;输出信号为ul,称为中频信号,其频率是fc和fL的差频或和频,称为中频f1,f1=fL±fc (也可采用谐波的和频或差频)。由此可见,混频器在频域上起着加/减法的作用。 - - 由于混频器的输入信号uC、本振uL都是高频信号,而输出的中频信号uL是已调波,除了中心频率与输入信号uc不同外,其频谱结构与输入信号uc的完全相同。表现在波形上,中频输出信号uL与输入信号uc的包络形状相同,只是填充频率不同(内部波形疏密程度不同)。下图表示了这一变换过程。 - - - - - - - - - - - -## 混频器参数 - -混频器的性能参数包括: - -## 混频器注意以下几点 - - - - - - - -## - -### **RF,IF,LO Frequency** - -一般来说,射频混频器有3个端口,这三个端口分别为射频(RF)输入端、本振(LO)输入端和中频(IF)输出端。 - -### **频率范围** - -指射频混频器各个端口(包括RF、Lo、IF端口)能正常工作、提供最优性能的频率范围。 - -### **功率电平** - -功率电平指馈送到混频器各端口的功率电平,一般指本振端口的功率电平。 - -在使用混频器时,应注意本振信号功率电平应比射频信号功率高15-20dB,这样可以获得更佳的性能,这也有助于我们确定其他输入端口(射频或中频)的功率电平。 - -### **本振功率 LO Power** - -混频器的指标受本振功率控制,本振功率是指最佳工作状态时所需的本振功率。若本振功率不够,就会降低混频器的性能,甚至使混频器无法工作。因此,混频器要求给出本振功率的参数,以dBm为单位。实际使用的混频器也是按本振功率进行分类,如7dBm、10dBm LO等。 - -混频器的本振功率是指最佳工作状态时所需的本振功率。原则上本振功率愈大,动态范围增大,线性度改善(1dB压缩点上升,三阶交调系数改善)。 - -### 下变频 - -在接收机中,它将射频频率或较高的频率转换为较低的中频频率或基带,使信号在射频接收机中更容易处理。 - -对于下变频,RF和LO用作输入端口,IF端口作为输出端口。 - - - -### 上变频 - -在发射机中,它将较低的中频或基带频率转换到较高的中频或射频频率,便于在发射机中提供更为高效的功率传输。对于上变频,IF和LO用作输入端口,RF端口作为输出端口。 - - - -### **转换损耗** - - - -转换损耗指混频器输出信号与输入信号的比值,也是输入射频功率和输出信号功率电平之间的差值。 - -例如,如果我们将信号从中频转换到射频,那么: - -转换损耗(dB)=输出射频信号功率(dBm)-输入中频信号功率(dBm)。 - -假设PRF=-10 dBm和PIF=-17 dBm, - -则射频混频器的转换损耗=PRF- PIF=-10dBm-(-17dBm)=7 dB - -一般的,混频器典型的转换损耗值在5到10dB之间。 - -### **1dB压缩** 点 - -1dB压缩点的定义为增益压缩1dB时,输入或输出的功率值。由于器件的非线性,实际的增益曲线并不是条直线。实际的输出功率不可能随输入功率的增加一直成比例的放大,当输入信号增大到一定程度,器件会饱和,输出不再增加。 - - - -如我们所知,在混频器正常工作时,转换损耗是一个恒定值,与输入信号功率不相关,即输入功率增加1dB,输出功率相应增加1dB。然而,当输入功率的幅值过大时,不在是1dB到1dB的关系,而是呈现出非线性关系的变化。 - -1dB压缩点定义为转换损耗从理想值增加1dB时所需的输入功率,它是衡量射频混频器线性度的指标。在射频电路上的功率电平设计时,混频器的输出功率应远远小于输出1dB的压缩点值,否则容易导致混频器饱和。 - -### **动态范围** - -动态范围是指混频器正常工作时的微波输入功率范围。其下限因混频器的应用环境不同而异,其上限受射频输入功率饱和所限,通常对应混频器的1dB压缩点。 - -### **隔离度** - -隔离度(Isolation/feedthrough)是衡量器件端口间信号泄露或者馈通地指标。混频器隔离度是指各频率端口间的相互隔离,包括本振与射频,本振与中频,及射频与中频之间的隔离,即LO-IF间隔离、LO-RF间隔离和RF-IF间隔离。隔离度定义为本振或射频信号泄漏到其它端口的功率与输入功率之比,单位dB。 - - - -它是从一个混合器端口泄漏到另一个端口的功率大小。混频器的隔离通常是指LO端口和RF端口直接的隔离,典型值范围15-25dB之间。 - -实际上,本振、射频和中频端口之间或多或少总会存在一定量的信号泄漏。 - -隔离度是输入信号功率和泄漏到其他端口功率的差值。例如,如果我们在LO端口输入一个信号,在RF端口也能获得该信号,则这两个端口之间的隔离度(dB)表示为: - - **LO和RF端口之间的隔离 = PinLO - PoutRF** - -混频器端口之间的隔离是相互的,因此只需要测量一个方向上的隔离即可。比如:从端口1到端口2的混频器隔离与从端口2到端口1的隔离相同。 - -### **驻波比** - - - - -如果混频器的驻波比是完美的,将有最小的反射。端口驻波直接影响混频器在系统中的使用,它是一个随功率、频率变化的参数。 - -### **回波损耗 Return Loss** - -通常情况下,射频RF输出信号不是全部输出的,会有一部分信号被反射回到发射端。这种反射性能的大小可以用回波损耗来描述。单位dB。 - -### **互调失真(TOI或输入输出IP3)** - -如果有两个频率相近的微波信号fs1和fs2和本振fLO一起输入到混频器,由于混频器的非线性作用,将产生交调,其中三阶交调可能出现在输出中频附近的地方,落入中频通带以内,造成干扰,通常用三阶交调抑制比来描述,即有用信号功率与三阶交调信号功率比值,常表示为dBc。因中频功率随输入功率成正比,当微波输入信号减小1dB时,三阶交调信号抑制比增加2dB。 - -### 三阶交调截点 **Third-order Intercept Point** - -三阶交调是两个频率为f1和f2(基频信号)信号,在经过一个非线性系统后,产生频率分量mf1士nf2 (m, n=0, 1, - -2, ......)的现象。其中m+n的值称为分量的阶,比如f1+f2称为2阶分量,2f1-f2称为3阶分量。 - -I **P3** - 3阶截获点 (Third-order Intercept Point)是一个理论值,定义为基频增益变化曲线与3阶交调信号增益变化曲线相等时的功率 - - **IIP3** - 输入3阶截获点(Input Third-order intercept point)定义为基频增益曲线与3阶增益曲线的相等时的输入功率。 - - **OIP3** - 输出3阶截获点(Output Third-order intercept point)定义为基频增益曲线与3阶增益曲线的相等时的输出功率。 - - - - **表征线性度或失真性能的参数,IIP3越高表示线性度越好、失真越小。** - -### **噪声系数 Noise Factor** - -噪声系数是输入信噪比与输出信噪比之比。它由混频器转换损耗的值近似。 - - - -对于低功率应用,转换损耗和噪声系数应尽量小。 - - - -[噪声系数测量3 大技巧​www.keysight.com.cn/cn/zh/assets/7018-04995/application-notes/5992-1153.pdf](https://www.keysight.com.cn/cn/zh/assets/7018-04995/application-notes/5992-1153.pdf) - -### 镜像响应 - -即便使用这种数学理论上完美无缺的混频器,接收机也存在一个基本问题,即镜像响应。 - -在RF的镜像频率处,即使没有人为产生的干扰信号,在镜像频率处的噪声,也还是会混频到中频,恶化信噪比。可以通过滤波和相位抵消,来减小RF镜像响应。当滤波器对镜像干扰能提供足够的抑制,可以使用滤波技术;如果镜像频率离有用信号很近,无法滤除的时候,可以采用相位抵消的方法,如镜像抑制混频器。 - -以使用低端下变频器为例,所需输出的频率为ωIF = ωRF – ωLO。 - -因此,我们可能认为 RF频谱中能够通过混频器“滤网”并进入狭窄IF通带的唯一分量就是所需分量ωRF。不过, 我们可以轻松地将公式写成: - - - -因为该余弦函数相对于t = 0对称。因此,RF输入端的另一频谱分量也会进入IF通带,此处也就是 - - - -所表示的,那就是镜像频率。 - -在上述示例中,当f LO = 10 MHz且f IF = 1 MHz时,所需响应为IF频率,因此对于f IF = 1 MHz, 则RF = 11 MHz。不过,混频器还会响应“镜像”频率并产生相同的IF,因此f IMAGE = 9 MHz (参见下图)。 - - - - - - - - - -### **镜像抑制** - -对于I/Q混频器和镜像抑制混频器,这个会在混频器数据表中指定,它们表示对镜像频率的抑制能力。 - -[谐波混频器 - 是德科技Keysight​www.keysight.com.cn/cn/zh/catalog/key-34518/harmonic-mixers.html](https://www.keysight.com.cn/cn/zh/catalog/key-34518/harmonic-mixers.html) - -[联系是德科技](https://www.keysight.com.cn/cn/zh/contact.html) - - - -
- -[https://zhuanlan.zhihu.com/p/691026654](https://zhuanlan.zhihu.com/p/691026654)
- - - diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/0.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/0.jpg deleted file mode 100644 index 4f9a147..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/0.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/1.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/1.jpg deleted file mode 100644 index afb0bb1..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/1.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/10.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/10.jpg deleted file mode 100644 index bff8cbe..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/10.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/11.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/11.jpg deleted file mode 100644 index a2328e8..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/11.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/12.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/12.jpg deleted file mode 100644 index fe2ad33..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/12.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/13.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/13.jpg deleted file mode 100644 index 8980fdd..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/13.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/14.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/14.jpg deleted file mode 100644 index 406158c..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/14.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/15.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/15.jpg deleted file mode 100644 index 265fb6a..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/15.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/16.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/16.jpg deleted file mode 100644 index 5620510..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/16.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/2.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/2.jpg deleted file mode 100644 index accf322..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/2.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/2024-04-10_20_34・IP_属地陕西.txt b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/2024-04-10_20_34・IP_属地陕西.txt deleted file mode 100644 index 09281bc..0000000 --- a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/2024-04-10_20_34・IP_属地陕西.txt +++ /dev/null @@ -1,2 +0,0 @@ -2024-04-10_20_34・IP_属地陕西 -https://zhuanlan.zhihu.com/p/508764579 \ No newline at end of file diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/3.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/3.jpg deleted file mode 100644 index 9e47577..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/3.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/4.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/4.jpg deleted file mode 100644 index 51ab24d..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/4.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/5.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/5.jpg deleted file mode 100644 index c775ab3..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/5.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/6.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/6.jpg deleted file mode 100644 index c73d785..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/6.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/7.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/7.jpg deleted file mode 100644 index 30a7505..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/7.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/8.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/8.jpg deleted file mode 100644 index 1770168..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/8.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/9.jpg b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/9.jpg deleted file mode 100644 index 34a65e3..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/9.jpg and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/FMCW雷达系统信号处理建模与仿真.pdf b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/FMCW雷达系统信号处理建模与仿真.pdf deleted file mode 100644 index c203a61..0000000 Binary files a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/FMCW雷达系统信号处理建模与仿真.pdf and /dev/null differ diff --git a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/FMCW雷达系统信号处理建模与仿真_formula_.md b/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/FMCW雷达系统信号处理建模与仿真_formula_.md deleted file mode 100644 index ac5afa8..0000000 --- a/article/2024-04-10_20_34_FMCW雷达系统信号处理建模与仿真_IP_属地陕西/FMCW雷达系统信号处理建模与仿真_formula_.md +++ /dev/null @@ -1,444 +0,0 @@ -# 干货:FMCW雷达系统信号处理建模与仿真(含matlab代码) - -[转载自](https://zhuanlan.zhihu.com/p/508764579) - -大家好,我是 - -[@调皮连续波](//www.zhihu.com/people/b2a9d95656e48086ba11dcaa4fd6ea09) - - ,江湖人称“调皮哥”。正值五一假期,去哪里都人多,因此调皮哥选择在室内学习,等到非假期的时间再出去游玩。因此这几天时间里,给大家准备了一些学习的资料,供雷达初学者和感兴趣的读者学习参考,希望能够帮助到大家。本期文章准备的内容是《 **干货:FMCW雷达信号处理建模与仿真(含matlab代码)** 》,全是干货知识,认真学习一定能够对大家的学习有帮助。 - -好了,闲话不多扯,直接开始学习吧。 - -## **1.引言** - -FMCW雷达信号处理建模与仿真,是诸多初学者在研究雷达的过程中一定会遇到的问题,很多初学者甚至不知道如何下手,因此调皮哥针对这个问题,给大家整理了本期文章。本文将带领大家学会如何基于FMCW进行雷达信号处理建模仿真,并结合雷达信号处理理论与MATLAB编程实践学习,从发射信号开始,到回波信号、距离维FFT、速度维FFT以及CFAR检测等内容,文章提供了对应的MATLAB代码帮助大家学习仿真。 - -调皮哥之前写过《 - -[调皮连续波:雷达原理 | 用MATLAB信号处理是如何解算目标的距离和速度信息的?](https://zhuanlan.zhihu.com/p/422798513)》一文,但是太过于理论,并没有从雷达的根源角度系统性地介绍雷达的基本原理,因此本期文章将结合该文更加系统地介绍,能够帮助大家形成知识体系。 - -## 2.发射信号模型 - -一般情况下,雷达发射信号的模型可采用线性调频连续波(LFMCW) ,发射波形的信号形式为调频连续锯齿波。线性调频的含义即调制信号频率随时间线性变化,从时域上看是一个频率随时间线性变化的波形;从频域上看, 发射信号的频率与时间成正比, 如图1所示。 - - - -理论上,发射信号的模型可以用公式(1)表示: - - -$s_{t}(t)=A \cos \left\{2 \pi\left(f_{0} t+S t^{2} / 2\right)+\phi_{0}\right\}, \quad t \in[0, \quad T]$ (1) - -其中A是发射信号幅度,发射的chirp信号扫频带宽为 B,发射时宽为T,即调频斜率为 B/T,记为S 。 - -所以,单周期的 FMCW 雷达发射信号模型的相位可以写成公式(2): - - -$p_{t}(t)=2 \pi\left(f_{0} t+S t^{2} / 2\right)+\phi_{0} \quad, t \in[0, T]$ (2) - -所谓单周期,即只有一个chirp扫频信号。但是一般我们研究FMCW雷达信号处理,需要多周期(如128个)的chirp信号,这是因为我们需要利用多个chirp来测量目标的速度。 - -通常,各种文献资料对于雷达发射信号的表示方法有两种,一种是实数信号表示形式,如本文所用的。另一种是复数信号表示形式,如公式(3)所示: - - -$s_{t}(t) \operatorname=A\exp \left(j 2 \pi\left(f_{0} t+\frac{1}{2} St^{2}\right)+\phi\right), t \in[0, T]$ (3) - -但是由于我们在发射信号是,只有实数信号,而并非复数信号,只是在后续的ADC芯片中采用正交采样时,才把信号变为复信号。需要注意的是,这两种表达方式都是正确的,只是在后续的处理过程中,有一些不同。本文仍旧采用传统的实数信号表达方式。 - -在仿真MATLAB代码中发射信号的理想模型表示为: - - - -``` - Tx(i) = cos(2*pi*(fc*t(i) + (slope*t(i)^2)/2)); % 发射信号 实数信号 -``` - -发射信号时域图如图2所示: - - - -``` -plot(Tx(1:1024)); -xlabel('点数'); -ylabel('幅度'); -title('TX发射信号时域图'); -``` - - - -发射信号时频图如图3所示: - - - -``` - if i<=1024 - freq(i)=fc+slope*i*Tchirp/Nr; %发射信号时频图 只取第一个chirp - freq_echo(i)=fc+slope*i*Tchirp/Nr;%回波信号频谱延迟 - end - -plot(t(1:1024),freq); -xlabel('时间'); -ylabel('频率'); -title('TX发射信号时频图'); -``` - - - -## 3.雷达参数与目标参数 -在MATLAB代码中设置雷达的参数和目标的参数,便于我们进行建模仿真实验。具体参数如下所示: - - - -``` -maxR = 200; % 雷达最大探测目标的距离 -rangeRes = 1; % 雷达的距离分率 -maxV = 70; % 雷达最大检测目标的速度 -fc= 77e9; % 雷达工作频率 载频 -c = 3e8; % 光速 - -r0 = 90; % 目标距离设置 (max = 200m) -v0 = 10; % 目标速度设置 (min =-70m/s, max=70m/s) - -B = c / (2*rangeRes); % 发射信号带宽 (y-axis) B = 150MHz -Tchirp = 5.5 * 2 * maxR/c; % 扫频时间 (x-axis), 5.5= sweep time should be at least 5 o 6 times the round trip time -endle_time=6.3e-6; %空闲时间 -slope = B / Tchirp; %调频斜率 -f_IFmax= (slope*2*maxR)/c ; %最高中频频率 -f_IF=(slope*2*r0)/c ; %当前中频频率 - -Nd=128; %chirp数量 -Nr=1024; %ADC采样点数 -vres=(c/fc)/(2*Nd*(Tchirp+endle_time));%速度分辨率 -Fs=Nr/Tchirp; %模拟信号采样频率 -t=linspace(0,Nd*Tchirp,Nr*Nd); %发射信号和接收信号的采样时间 - -Tx=zeros(1,length(t)); %发射信号 -Rx=zeros(1,length(t)); %接收信号 -Mix = zeros(1,length(t)); %差频、差拍、拍频、中频信号 -``` - -## 4.回波信号模型 - -假设静止的目标距离雷达的距离为R,电磁波在空气中传输速度为c,则接受天线接受到的信号比发射的信号延迟τ=2R/c,所以理想情况下接受天线接收到的目标回波信号模型如公式(4)所示: - - -$S_{r}(t)=K A \cos \left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\}, t \in[0, T]$ (4) - -由上述公式可知,回波信号具有和发射信号同样的信号形式,相对于发射信号在时间上有固定延时τ,故而回波信号的相位可以表式为公式(5): - - -$p_{r}(t)=2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}$ (5) - -在MATLAB中接收信号(雷达的回波信号)表示为: - - - -``` - Rx(i) = cos(2*pi*(fc*(t(i)-td(i)) + (slope*(t(i)-td(i))^2)/2)); %接收信号 实数信号 -``` - -接收信号的时域图如图4所示: - - - -``` -%接收信号时域图 -plot(Rx(1:1024)); -xlabel('点数'); -ylabel('幅度'); -title('RX接收信号时域图'); -``` - - - -接收信号与发射信号的时频图如图5所示: - - - -``` -%接收信号与发射信号的时频图 -plot(t(1:1024),freq); -hold on; -plot(td(1:1024)+t(1:1024),freq); -xlabel('时间'); -ylabel('频率'); -title('接收信号与发射信号时频图'); -legend ('TX','RX'); -``` - - - -## 4.混频 - -将接收到回波信号Sr(t)和发射信号St(t)进行混频,并经过低通滤波器后就可以得到一个单一频率的正弦波信号,如图中黑色的“IF signal”便是中频信号的频率,如图6和图7所示。 - - - - - -### 4.1 静止目标下测距 - -根据公式推导,当在静止目标下时, 可以得到差频信号的相位表达式为公式(6): - - -$\begin{aligned} p_{t}(t)-p_{r}(t) &=\left\{2 \pi\left[f_{0} t+S t^{2} / 2\right]+\phi_{0}\right\}-\left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\} \\ &=2 \pi f_{0} \tau+2 \pi S \tau t-\pi S \tau^{2} \end{aligned}$ (6) - -此时可以很明显地看出,发射信号和单目标的回波信号的频率差为一个单频信号。根据公式(6),可以得到中频信号频率fm,如公式(7)所示: - - -$f_{m}=S \tau=\frac{S 2 R}{c}=\frac{2 B R}{c T}$ (7) - -对中频信号进行 ADC 采样, 然后做 FFT 提取信号的频率信息, 假设 FFT 得到频谱的谱峰值对应的频率为fm , 则目标的距离信息可以表示为公式(8): - - -$R=\frac{c T f_{m}}{2 B}$ (8) - -### 4.2 运动目标情况下测距 - -假设,在电磁波的覆盖区域中,存在某一目标在t0时刻距离发射天线为R0,以径向速度v远离雷达,以远离天线为正方向,至于为什么可看文章(《 - -[调皮连续波:雷达原理 | 讨论调频连续波雷达目标运动方向与速度正负的关系?](https://zhuanlan.zhihu.com/p/422793898)》) - -那么接收到目标的回波信号模型公式依旧与单目标一致,如公式(9)所示。 - - -$S_{r}(t)=K A \cos \left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\}, t \in[0, T]$ (9) - -但是,τ有所改变,如公式(10)所示: - - -$\tau=\frac{2 R_{0}}{c}=\frac{2(R+v t)}{c}=t_{0}+\Delta{t}$ (10) - -此时,通过混频后得到中频信号的相位如下所示: - - -$\begin{aligned} p_{t}(t)-p_{r}(t) &=\left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\}-\left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\} \\ &=2 \pi f_{0} \tau+2 \pi S \tau t+\pi S \tau^{2} \end{aligned}$ - -代入τ后的等式变为: - - -$\begin{aligned} p_{t}(t)-p_{r}(t) &=\left\{2 \pi\left[f_{0} t+S t^{2} / 2\right]+\phi_{0}\right\}-\left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\} \\ &=2 \pi f_{0} \tau+2 \pi S \tau t-\pi S \tau^{2} \\ &=\frac{4 \pi f_{0}(R+v t)}{c}+\frac{4 \pi S(R+v t) t}{c}-\frac{4 \pi S(R+v t)^{2}}{c^{2}} \\ &=\frac{4 \pi f_{0}(R+v t)}{c}+\frac{4 \pi S(R+v t) t}{c}-\left(\frac{4 \pi S R^{2}}{c^{2}}+\frac{4 \pi S v^{2} t^{2}}{c^{2}}+\frac{8 \pi S R v t}{c^{2}}\right) \\ &=\frac{4 \pi R f_{0}}{c}+\frac{4 \pi f_{0} v t}{c}+\frac{4 \pi S R t}{c}+\frac{4 \pi S v t^{2}}{c}-\frac{4 \pi S R^{2}}{c^{2}}-\frac{4 \pi S v^{2} t^{2}}{c^{2}}-\frac{8 \pi S R v t}{c^{2}} \\ &=2 \pi\left(\frac{2 f_{0} v}{c}+\frac{2 S R}{c}-\frac{4 S R v}{c^{2}}\right) t+\pi\left(\frac{4 S v}{c}-\frac{4 S v^{2}}{c^{2}}\right) t^{2}+\frac{4 \pi R f_{0}}{c}-\frac{4 \pi S R^{2}}{c^{2}} \end{aligned}$ - -很显然,根据上述公式可知,对于运动目标的信号的中频信号依然是一个近似线性调频信号。 - -所以设中频信号的调频斜率Um,载频fm,初相ϕm分别如下: - - -$\begin{aligned} u_{m} &=\frac{4 S v}{c}-\frac{4 S v^{2}}{c^{2}} \\ f_{m} &=\frac{2 f_{0} v}{c}+\frac{2 S R}{c}-\frac{4 S R v}{c^{2}} \\ \phi_{m} &=\frac{4 \pi R f_{0}}{c}-\frac{4 \pi S R^{2}}{c^{2}} \end{aligned}$ - -因为光速c等于3*10^8m/s,所以忽略c的平方项,则中频信号的时宽带宽积Dm为: - - -$\begin{gathered} B_{m}=S_{m} T=\frac{4 S v}{c} T=\frac{4 B v}{c} \\ D_{m}=B_{m} T=\frac{4 v}{c} D \end{gathered}$ - -其中,Bm中频信号的调频带宽,为D为发射信号时宽带宽积。上述公式可以表明,即使目标在几百米每秒的高速运动情况下,中频信号的时宽带宽积仅有原来的10^-6 倍,在毫米波雷达发射极大时宽带宽积(10^6)的信号情况下,中频信号Dm的数量级也只有10^0 。因此,可近似认为回波差拍信号是一单频信号,通过频谱分析(FFT)即能得到其中心频率。所以也可以将中频信号近似地写成公式(11): - - -$S(t)=A \sin \left(2 \pi f_{0} t+\phi_{0}\right)$ (11) - -注意:公式(11)是近似值,忽略了多普勒频移的影响,其中R为目标距离, $f_{0}=f_{m}$ , $\phi_{0}=\phi_{m}$ 。 - - -$f_{0}=\frac{S 2 R}{c} , \phi_{0}=\frac{4 \pi R}{\lambda}$ - -近似中频信号公式忽略中频信号的频率与物体速度的依赖关系。在快速 FMCW 雷达中,其影响通常非常小,且在处理完成多普勒 (速度维)FFT 后,即可轻松对其进行进一步校正,这就是多普勒相位补偿。 - -混频过程在MATLAB中可以表示为: - - - -``` - Mix(i) = Tx(i).*Rx(i);%差频、差拍、拍频、中频信号 -``` - -混频后的信号频图,为实信号做傅里叶变换,如图8所示: - - - -``` -plot(db(abs(fft(Mix(1:1024)))));%查看宽带的和频信号 将chirp的点数改为1024*256即可看到有一个门信号,但注意计算机内存。 -xlabel('频率'); -ylabel('幅度'); -title('中频信号频谱'); -``` - - - - **此时要注意,** 本文采用“数字信号的形式”来模拟发射信号与回波信号,实际上是不会通过这种方式实现的,发射信号和回波信号都是模拟信号。因此在本文中,混频之后得到的中频信号只有单一的频谱,即只保留了混频乘法器积化和差公式后的“差频”信号,“和频”信号由于MATLAB采用数字信号的形式导致采样率过低,N/Tchirp=1024/Tchirp=139MHz,对“和频信号”相当于欠采样,因此并不会保留高频信号,只保留目标的最大中频信号(27.27MHz),从而MATLAB自身形成一个低通(或带通)滤波器。 - -如果读者想要看到“和频”信号,则可以通过增加发射信号点数的点数,相当于增加采样率的形式来观察,但由于数据量很大,雷达载波也很高,因此不建议大家尝试。调皮哥给大家尝试了,在MATLAB代码中约为35GHz,离77GHz还很远,相当于欠采样,但还可以采集到的部分高频信号。如图9中所示,类似于门函数的频带就是和频信号。 - - - -``` -Nr=1024*256; -%中频信号频谱 -plot(db(abs(fft(Mix(1:1024*256)))));%查看宽带的和频信号 将chirp的点数改为1024*256即可看到有一个门信号,但注意计算机内存。 -xlabel('频率'); -ylabel('幅度'); -title('中频信号频谱'); -``` - - - -## 5.低通(带通滤波) - -本文的FMCW雷达信号处理建模仿真,由于MATLAB采样点数问题,低通滤波器相当于自带。如若按照增加采样点数的方式来实现低通滤波器的模拟,则可以实现如图10~12所示。 - - - -``` -%% 低通滤波 截止频率30MHz 采样频率120MHz -Mix=lowpass(Mix(1:1024*256),30e6,120e6); -plot(db(abs(fft(Mix(1:1024*256))))); -xlabel('频率'); -ylabel('幅度'); -title('中频信号低通滤波器'); -``` - - - - - - - -放大后保留的频率如图13所示: - - - -## 6.正交采样(IQ复采样) - -本文暂采用实数信号进行分析,因此暂不对实信号进行正交采样,后续有时间更新在进行处理。 - -## 7.距离估计 - -假设单个扫描周期 ADC采样点数为 1024, 采样频率为Fs=139MHz, 式中 n 为 FFT 谱峰对应的频点(Index), 根据 T、 Fs、 N 之间的关系,距离与频率关系的公式可进一步化简为: - - -$R=\frac{c T f_{m}}{2 B}=\frac{c T}{2 B} \frac{F_{s}}{N} n=\frac{c}{2 B} \frac{T F_{s}}{N} n=\Delta R * K * n=K * \Delta R * n$ (12) - -其中,请注意,因为上述的采样点刚好是2的次幂,因此,计算之后系数K刚好为1,假如采样点数不是2的次幂,如200个点,然后进行256个点的FFT,那么K值就不能等于1。 - -将中频信号按照距离门点数、chirp脉冲数排列为二维矩阵,其时域谱如图14所示。 - - - -``` -signal = reshape(Mix,Nr,Nd); -``` - - - -第一个chirp脉冲的距离维FFT结果,实信号FFT后频谱对称,只保留一半的频谱,即512个点,如图15所示。 - - - -``` -%% 距离维FFT -sig_fft = fft(signal,Nr)./Nr; -sig_fft = abs(sig_fft); -sig_fft = sig_fft(1:(Nr/2),:); - -figure; -plot(sig_fft(:,1)); -xlabel('距离(频率)'); -ylabel('幅度') -title('第一个chirp的FTF结果') -``` - - - -距离维FFT结果谱矩阵,如图16所示。 - - - -``` -figure; -mesh(sig_fft); -xlabel('chirp脉冲数') -ylabel('距离(频率)'); -zlabel('幅度') -title('距离维FTF结果') -``` - - - -在MATLAB中,对于距离维做FFT,目的就是找出中频频率峰值和频点,然后根据峰值所在的距离门号,解算出目标的距离。 - -如本文的距离门号为91,距离分辨率为1米,则真实距离为:(91-1)*1=90米,符合预先设定的目标参数值。 - -## 8.速度估计 - -对于两个相邻周期的信号,由于周期间隔时间Tc较短,距离分辨率有限,两个周期内距离维FFT谱中的峰值位置几乎没有发生变化,但是由于相位比距离更加敏感,即周期间微小的距离变化会引起中频信号的初相的变化。由傅里叶变换特性,信号的初相体现在峰值处的复数值对应的相位,计算相邻周期的相位差,即可得到目标的速度: - - -$\begin{aligned} &\phi_{0}=\frac{4 \pi d}{\lambda} \\ &\Delta \phi=\frac{4 \pi v T_{c}}{\lambda} \end{aligned}$ - - 其中,两个脉冲相邻的微小距离变化为v*Tc,所以推导出两个脉冲间的速度为: - - -$v=\frac{\lambda \Delta \phi}{4 \pi T_{c}}$ - -推广到多个脉冲,如128个,那么相位的变化是呈周期性的,速度维度做128点FFT后的峰值就是相位差,即获取速度对应的峰值和频点再通过解算便可获得目标的速度,这个过程就是速度维FFT。接下来进行速度解算。上述公式经过推导可以变为: - - -$\begin{aligned} &\Delta v=\frac{\lambda}{2 N T_{c}} \\ &v=\frac{\lambda \Delta \phi}{4 \pi T_{c}}=\frac{\lambda}{4 \pi T_{c}} \frac{2 \pi}{N} n=\frac{\lambda}{2 N T_{c}} n=k\cdot\Delta v \cdot n \end{aligned}$ - -其中,相位的最大值为2π。由此,速度的解算依赖于速度分辨率和速度门号,速度门号即为速度维FFT之后拿到的峰值所对应的下标(相位变化的频点)。 - -其中,请注意,因为上述的采样点刚好是2的次幂,因此,计算之后系数k刚好为1,假如采样点数不是2的次幂,如200个点,然后进行256个点的速度维FFT,那么K值就不能等于1。 - -在MATLAB中的解算过程为: - - - -``` -Mix=reshape(Mix,[Nr,Nd]); -sig_fft2 = fft2(Mix,Nr,Nd); - -sig_fft2 = sig_fft2(1:Nr/2,1:Nd); -sig_fft2 = fftshift (sig_fft2); -RDM = abs(sig_fft2); -RDM = 10*log10(RDM) ; -doppler_axis = linspace(-100,100,Nd); -range_axis = linspace(-200,200,Nr/2)*((Nr/2)/400); -figure; -mesh(doppler_axis,range_axis,RDM); -xlabel('距离通道'); ylabel('多普勒通道'); zlabel('幅度(dB)'); -title('速度维FFT 距离多普勒谱'); -``` - -速度维FFT结果如图17所示: - - - -如本文的多普勒门号为10,速度分辨率为 vres= 1.1163m/s,则真实距离为:(10-1)* 1.1163=10.04m/s,符合预先设定的目标参数值,其中这里的速度分辨率vres是由雷达工程师自主设定的,在FMCW雷达中可以增加调频连续波的空闲时间来增加速度分辨率,但要注意与最大不模糊速度保持平衡。 - -本文所涉及的MATLAB仿真代码下载: - -[【16期】FMCW雷达系统信号处理建模与仿真(Matlab代码)](https://mbd.pub/o/bread/ZZmZl5ps) - -调皮连续波 - -52 次咨询4.8 - - - -11733 次赞同 - - - -去咨询 - - - - - - - -
- -[https://zhuanlan.zhihu.com/p/508764579](https://zhuanlan.zhihu.com/p/508764579)
- - - diff --git a/article/2024-04-16_15_44_初次尝试编写Apache_Shiro应用程序_IP_属地北京/2024-04-16_15_44・IP_属地北京.txt b/article/2024-04-16_15_44_初次尝试编写Apache_Shiro应用程序_IP_属地北京/2024-04-16_15_44・IP_属地北京.txt deleted file mode 100644 index d273227..0000000 --- a/article/2024-04-16_15_44_初次尝试编写Apache_Shiro应用程序_IP_属地北京/2024-04-16_15_44・IP_属地北京.txt +++ /dev/null @@ -1,2 +0,0 @@ -2024-04-16_15_44・IP_属地北京 -https://zhuanlan.zhihu.com/p/692774632 \ No newline at end of file diff --git a/article/2024-04-16_15_44_初次尝试编写Apache_Shiro应用程序_IP_属地北京/初次尝试编写Apache_Shiro应用程序.pdf b/article/2024-04-16_15_44_初次尝试编写Apache_Shiro应用程序_IP_属地北京/初次尝试编写Apache_Shiro应用程序.pdf deleted file mode 100644 index 999a35a..0000000 Binary files a/article/2024-04-16_15_44_初次尝试编写Apache_Shiro应用程序_IP_属地北京/初次尝试编写Apache_Shiro应用程序.pdf and /dev/null differ diff --git a/article/2024-04-16_15_44_初次尝试编写Apache_Shiro应用程序_IP_属地北京/初次尝试编写Apache_Shiro应用程序_formula_.md b/article/2024-04-16_15_44_初次尝试编写Apache_Shiro应用程序_IP_属地北京/初次尝试编写Apache_Shiro应用程序_formula_.md deleted file mode 100644 index aee5d87..0000000 --- a/article/2024-04-16_15_44_初次尝试编写Apache_Shiro应用程序_IP_属地北京/初次尝试编写Apache_Shiro应用程序_formula_.md +++ /dev/null @@ -1,162 +0,0 @@ -# 初次尝试编写Apache Shiro应用程序 - -[转载自](https://zhuanlan.zhihu.com/p/692774632) - -在 **前述内容** 中,我们概览了Shiro的核心概念,本章节将通过实践动手创建一个简化的示例项目,重点聚焦于运用Shiro实现基本的认证功能。在开始之前,首先要选定合适的Shiro版本,在撰写本文时,我们用Shiro的相对稳定版本1.7.1,以下是对应的Maven依赖项配置说明: - - - -``` - - org.apache.shiro - shiro-core - 1.7.1 - -``` - -JDK版本: - - - -``` -openjdk version "1.8.0_281" -``` - -maven的pom文件的依赖配置如下: - - - -``` - - - - org.apache.shiro - shiro-core - 1.7.1 - - - - - - - src/main/resources - - **/*.ini - - - - -``` - -在完成项目构建后,下一步是配置一个用于存储用户账号和密码信息的配置文件。在这个示例中,我们选用名称为 "shiro.ini" 的文件,并将其放置在项目的 resources 目录下。以下是该配置文件的内容模板: - - - -``` -[users] -admin=admin -admin2=admin2 -``` - -在上述配置文件里,我们设置了两个用户账号,其中左侧标识符代表用户名,右侧内容为其对应的密码。接下来,我们将编写一段测试代码以使用这些预设的用户信息进行功能验证,具体实现如下所示: - - - -``` -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authc.UsernamePasswordToken; -import org.apache.shiro.mgt.DefaultSecurityManager; -import org.apache.shiro.realm.text.IniRealm; -import org.apache.shiro.subject.Subject; - -public class TestAuthenticator { - public static void main(String[] args) { - // 1. 创建安全管理器对象 - DefaultSecurityManager securityManager = new DefaultSecurityManager(); - // 2. 设置 realm 数据 - securityManager.setRealm(new IniRealm("classpath:shiro.ini")); - // 3. 设置安全工具类相关数据 - SecurityUtils.setSecurityManager(securityManager); - // 4. 从安全工具类中获取 subject 对象 - Subject subject = SecurityUtils.getSubject(); - // 5. 创建令牌 - UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken("admin", "admin"); - // 6. 登陆 - // 认证状态 - boolean authenticated = subject.isAuthenticated(); - System.out.println("登录前认证状态" + authenticated); - subject.login(usernamePasswordToken); - authenticated = subject.isAuthenticated(); - System.out.println("登录后认证状态" + authenticated); - } -} -``` - -执行的结果: - - - -``` -登录前认证状态false -登录后认证状态true -``` - -在构建的基础Shiro示例中,涉及的核心操作共分六步: - -通过以上步骤,我们可以搭建起一个简易的用户登录验证场景。接下来,为了展示Shiro中处理的两种常见异常情况,我们将模拟用户名不匹配和密码错误的情况。首先,我们故意篡改UsernamePasswordToken构造函数中传入的用户名参数值,更改后的代码片段如下: - - - -``` -UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken("admin3", "admin"); -``` - -重新执行后抛出异常的内容: - - - -``` -Exception in thread "main" org.apache.shiro.authc.UnknownAccountException: Realm [org.apache.shiro.realm.text.IniRealm@5b80350b] was unable to find account data for the submitted AuthenticationToken [org.apache.shiro.authc.UsernamePasswordToken - admin1, rememberMe=false]. - at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:184) - at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:273) - at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198) - at org.apache.shiro.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:106) - at org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:275) - at org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:260) - at com.github.huifer.shiro.TestAuthenticator.main(TestAuthenticator.java:31) -``` - -当用户名被错误地设置后,程序运行将抛出异常,该异常类型为UnknownAccountException,指示了用户名不存在或未知的问题。为进一步演示,我们现在模拟密码错误导致的异常情形:将UsernamePasswordToken构造函数中传递的第二个参数(即密码)更改为错误值,如下所示变更后的代码段: - - - -``` -UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken("admin", "admin3"); -``` - -执行后抛出异常的内容: - - - -``` -Exception in thread "main" org.apache.shiro.authc.IncorrectCredentialsException: Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - admin, rememberMe=false] did not match the expected credentials. - at org.apache.shiro.realm.AuthenticatingRealm.assertCredentialsMatch(AuthenticatingRealm.java:603) - at org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:581) - at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180) - at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:273) - at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198) - at org.apache.shiro.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:106) - at org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:275) - at org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:260) - at com.github.huifer.shiro.TestAuthenticator.main(TestAuthenticator.java:31) - -``` - -此刻,程序运行会抛出一个新的异常,该异常标志着密码校验未能通过,具体的异常类型为IncorrectCredentialsException,意指提供的密码与系统记录不符。 - -
- -[https://zhuanlan.zhihu.com/p/692774632](https://zhuanlan.zhihu.com/p/692774632)
- - - diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/0.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/0.jpg deleted file mode 100644 index e5aa5e4..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/0.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/1.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/1.jpg deleted file mode 100644 index 5efc94e..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/1.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/10.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/10.jpg deleted file mode 100644 index 5e63e07..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/10.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/11.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/11.jpg deleted file mode 100644 index 4fa9930..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/11.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/12.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/12.jpg deleted file mode 100644 index 691c8d2..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/12.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/13.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/13.jpg deleted file mode 100644 index 8e503a2..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/13.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/14.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/14.jpg deleted file mode 100644 index d69f729..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/14.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/15.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/15.jpg deleted file mode 100644 index d5863d9..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/15.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/2.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/2.jpg deleted file mode 100644 index 5f4306e..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/2.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/2024-04-18_17_21・IP_属地广东.txt b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/2024-04-18_17_21・IP_属地广东.txt deleted file mode 100644 index f043b56..0000000 --- a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/2024-04-18_17_21・IP_属地广东.txt +++ /dev/null @@ -1,2 +0,0 @@ -2024-04-18_17_21・IP_属地广东 -https://zhuanlan.zhihu.com/p/693232895 \ No newline at end of file diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/3.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/3.jpg deleted file mode 100644 index 22d029b..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/3.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/4.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/4.jpg deleted file mode 100644 index 68f9730..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/4.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/5.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/5.jpg deleted file mode 100644 index a3ce913..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/5.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/6.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/6.jpg deleted file mode 100644 index 925b038..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/6.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/7.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/7.jpg deleted file mode 100644 index 587dd01..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/7.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/8.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/8.jpg deleted file mode 100644 index 563e72e..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/8.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/9.jpg b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/9.jpg deleted file mode 100644 index ff1aa2c..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/9.jpg and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺.pdf b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺.pdf deleted file mode 100644 index b12b745..0000000 Binary files a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺.pdf and /dev/null differ diff --git a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_formula_.md b/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_formula_.md deleted file mode 100644 index 76852ac..0000000 --- a/article/2024-04-18_17_21_美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_IP_属地广东/美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺_formula_.md +++ /dev/null @@ -1,158 +0,0 @@ -# 美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺 - -[转载自](https://zhuanlan.zhihu.com/p/693232895) - - - - - -MRHIEP(Manufacturing Roadmap for Heterogenous Integration and Electronics Packaging)技术工作组根据异构集成路线图(Heterogeneous Integration Roadmap,HIR)和其他相关行业路线图,针对先进封装和异构集成中已确定的关键领域,为其制造执行规划出制造路线图和通用蓝图。 - - **该蓝图主要关注高性能计算应用的三个关键技术平台,如下所列:** -1. 用于Chiplet(芯粒或称小芯片)和多芯片集成的先进基板 -2. 键距微缩和组装工艺 -3. 扇出晶圆级封装和面板级封装 - -在上周的 - -[美国先进封装制造蓝图(一)(点此查看原文)](https://mp.weixin.qq.com/s%3F__biz%3DMzkzNDY0ODQzMg%3D%3D%26mid%3D2247485496%26idx%3D2%26sn%3De9fb5a6809b5060e01ec585d1c57b47b%26chksm%3Dc2bb4727f5ccce3149b9f02f96e91f63c5151991092f5259b0aec9d71fa8f077110a29ad6ea8%26scene%3D21%23wechat_redirect)一文,我们已经介绍过第一部分,下面对第二和第三部分进行介绍。 - - ***1** - **键距缩放和组装** - -蓝图的这一部分内容涵盖了裸片到裸片、裸片到中介层和裸片到基板互联的键合间距缩放。 - - **1)基于焊料的 TCB(微凸点)** - -随着键合间距从250 微米的裸片到基板倒装互联微缩至35-45 微米的裸片至中介层互联,裸片到封装互联也从无铅焊料凸块变为具有无铅焊料盖的铜柱,再发展至具有薄焊料盖的铜微凸点。随着每个凸块的焊料量不断减少,互联面积又不断增大,传统的回流焊工艺也转变为热压键合(Thermo Compression Bonding,TCB)工艺。这一历史路线图的发展趋势如下图所示。 - - - - - **2)无焊料直接TCB(金属-金属)** - -金属-金属直接热压键合 (TCB) 是一种无焊键合工艺。在适当的温度和压力条件下,接合界面两侧金属焊盘之间的紧密接触会导致金属间扩散和晶粒生长。这奠定了金属-金属直接TCB 的基础。 - -作为一种无焊键合工艺,金属-金属 TCB 可以获得 < 10μm 的键合间距。与混合键合不同,金属-金属 TCB将电介质凹陷以暴露基板侧和芯片侧的金属焊盘,从而进行键合。 这中间只有金属与金属的接触,没有电介质间的接触。由于不存在电介质键合,因此对电介质的粗糙度要求不高。在热压键合的过程中,接合焊盘上的表面凹凸会因温度和压力而变平整。D2W(Die-to-wafer)-TCB与所使用的切割类型无关,因此适用于刀片切割。 - -此外,通过标准湿法清洁工艺获得的颗粒控制水平也足以完成组装。金属-金属 TCB 包括多种类型,如金-金TCB、金-铜TCB、铜-铜TCB、钝化金属基铜-铜TCB,这些类型均已在相关研究中得到证实。 - -为提高铜-铜直接TCB 的产量,可以采用两步键合法,即先将裸片固定到晶圆级或中介层基板上,然后对晶圆到晶圆或裸片到晶圆组件进行退火处理。 - -1.在裸片定位阶段,所有裸片在 120 °C 的相对较低温度下对齐,并在每裸片 ≤ 10 秒的总时间内放置。这一步虽不能确保最终键合,但可以保证连接足够牢固,且剪切强度 > 10N。 - -2. 填充后,组件将在真空中批量退火1 小时(批量大小取决于退火炉容量)。 这一步确保了铜晶粒在接合表面生长,从而完成键合。 -下面两个图片显示了热压键合的工艺流程,以及键合互连的横截面 SEM 图像。 - - - - - - - **3)混合键合(裸片-晶圆和晶圆-晶圆)** - -混合键合是将电介质材料键合在一起,然后进行退火以形成铜-铜键合。自2016 年索尼率先采用混合键合技术生产了图像传感器之后,这项技术已投入大批量制造 (HVM)。2021 年,长江存储在其 128L 3D NAND 产品中采用了混合键合工艺;2022 年,AMD 在其 Ryzen 7 处理器中采用了台积电的 SOIC 技术。 现在,混合键合主要有三种方法:(a) CIS 和 3D NAND 采用的晶圆到晶圆 (W2W) 方法;(b) 集体D2W法,即裸片在键合到晶圆或载体上的另一组裸片之前,先在载体上重建;(c) 采用倒装芯片键合的单个裸片到晶圆或芯片到晶圆(D2W 或 C2W)。 - - - -与微凸点相比,混合键合的主要优点是互联密度增加,并尽可能地将 W2W 间距减小到了 1um甚至 0.5um以下,将 D2W 间距减小至 4um以下。如此紧凑的间距对工艺带来挑战,其中的难点包括:如何保持表面清洁、受控和均匀的铜凹陷以及表面形貌,以及在键合过程中保持对准精度。 举例来说,表面清洁度的要求就推动了激光和等离子切割的发展,这些技术可最大限度地减少碎片产生。有机和无机临时键合层和保护层也在开发中,这些技术可以尽可能地降低表面缺陷。平坦化难题则推动了改进 CMP 工艺的努力,另外它还需要高效在线 CMP 后计量。缺陷和空洞检测需要在线无损表征,这对多裸片或多晶圆堆叠尤为重要。 - -其他难点还包括机械和散热方面的考量。随着晶圆和裸片越变越薄,翘曲和机械问题也成为人们关注的问题。例如,高带宽存储器 (HBM) 可能具有 8-20 个堆叠裸片,它需要较低的键合温度。 业界正在开发的各种介电材料在降低键合温度的同时还可以保持键合强度;还有铜晶粒结构的研究,则致力于减少铜-铜键合形成所需的热预算。随着chiplet和裸片到裸片(D2D)键合的逐步成熟,更多键合方法将浮出水面,解决集成带来的挑战。 - -下面两图分别显示了晶圆到晶圆的混合键合工艺流程,以及裸片到晶圆的混合键合工艺流程。 - - - - - - - - **制造蓝图的缺口与挑战:** - -未来 5-10 年内,混合键合工艺最关键的需求是提高制造工艺产量,降低设备和净室成本,并将总体工艺成本降低到接近当前热压键合(TCB)制造工艺的水平。这样,才能确保混合键合技术扩展至高端 AI 和 HPC 芯片组以外的大批量应用,同时使间距微缩超越TCB 方法的限制。 - -当然,混合键合工艺还面临其他重大挑战,具体包括 3D 异质芯片堆栈应力管理以满足长期可靠性要求,大力改进热管理方法以限制局部温升引起的故障,以及计量工具集成机器学习以解决数百万个细间距裸片间互联带来的电气测试成本问题。遍布全球的多家公司和研究小组正在探索和开发基于聚合物的混合键合方法,这将是未来潜在投资的一个重要领域,它将解决基于氧化物的混合键合产量、成本及可靠性问题,并最终扩张混合键合市场。 - - **本土机遇:** - -混合键合是最接近前道工艺 (FEOL) 晶体管制造的工艺之一,也是少数几个美国本土占据重要份额的领域之一(占全球制造份额>10%)。美国《芯片法案》推动了对美国本土前端晶体管晶圆厂的投资,也对混合键合和 3D IC 本土化产生积极影响,对晶圆厂的投资应辅之以对混合键合和其他 3D 封装架构的投资。无论对现有厂商还是新晋厂商而言,投身混合键合的低成本新兴替代方案,例如铜-铜直接热压键合和聚合物混合键合,都将是晋身本土领先 OSAT 的绝佳赛道。 - - ***2** - **扇出晶圆和面板级封装** - -扇出晶圆级封装 (FO-WLP) 是一种无基板封装,它采用刚性载体和模塑件将一个或多个 IC 重组为直径通常为 300mm的晶圆形式,并直接在重组晶圆上形成重分布层 (RDL) ,以创建与 IC 上 I/O 焊盘的直接铜互连。一层或多层 RDL 被用于将 IC 上的 I/O延伸至更大的间距,以便将 BGA 直接组装到主板上。因此,扇出型封装消除了基板以及 FCBGA 和 FCCSP 封装中使用的基于焊料的芯片到基板组装。英飞凌推出的 e-WLB(嵌入式晶圆级球栅阵列)封装是首款大规模 FO-WLP 封装的开发和商用。台积电推出的 FO-WLP 及其适用于 iPhone 应用处理器的 InFO(集成扇出)封装技术,则使扇出封装跻身当今使用量最高的封装平台之列。 - -扇出封装的最新趋势包括: -· 转向 600mm x 600mm 面板 (FO-PLP) -· 芯片后上扇出方法(也称 RDL 中介层),例如台积电的CoWoS-R 和用于 2.5D 集成的 ASE FoCoS -· 采用嵌入式硅桥用于高密度中介层的多裸片扇出封装(例如 AMD 在高端产品中实施的嵌入式扇出桥 ,EFB)。 - -当前的扇出晶圆和面板级封装制造领域存在多种变体。这些变体根据工艺流程可分为三个主要技术类别,如下图所示。 - - - - -三个技术类别的通用工艺流程如下图所示。 - - - - - - - - - **制造蓝图的缺口和挑战:** - -扇出晶圆级封装在当今的大批量制造中已得到广泛应用。 亚洲显示器制造商对600mm x 600mm 面板尺寸的扇出面板级封装 (PLP) 兴趣颇丰,但其封装工艺流程明显是传统显示器工厂能力无法企及的,而且显示器厂商缺乏相关专业知识,这也是一个棘手的阻碍。晶圆级和面板级扇出封装的关键挑战之一是成型过程中的裸片移位问题,它限制了凸点间距的收缩。现在,自适应图案化和基于软件的校正技术已被应用于解决部分裸片移位问题,但要满足未来凸点间距收缩的需求,还需要在材料和工艺流程上做出更多的创新。 - - **本土机遇:** - -尽管扇出晶圆和面板级封装是移动和其他设备产量最高的封装平台之一,但美国本土并没有大批量甚至小批量的扇出封装生产线。这是本蓝图中确定的一个主要美国本土缺口。将现有的扇出封装生产线从亚洲迁移到美国是有可能的,但这仍然难以与亚洲现有的大批量生产线竞争,这些生产线已经优化了数年且产量很高。投资新的扇出方法,以满足单芯片和多芯片扇出封装未来路线图的需求,应成为美国本土投资的重点。 - - - ***3** - **硅光子封装** - -硅光子 (SiPh) 封装已经成为 HPC、数据中心和人工智能等多种应用的重要互联平台。光学计算设备之间的主要互连介质是光纤,而且通常为安装在现有设施内和设施之间的传统单模光纤。片上光子 IO 需要将光纤节距从目前的 250um(125um包层直径光纤)减少到下一代 80um包层直径光纤可以实现的140 或 125um节距。随着多芯单模和保偏光纤的推出以及光纤带的商用,预计未来十年 IO 节距将更小。 - -将光纤连接到光子集成电路 (PIC) 裸片或chiplet的方法包括:用主动或被动对准自对准工艺边缘(对接)耦合到边缘面、边缘 V 形槽自对准或顶部表面光栅耦合器结构。 - -为促进封装或板级集成,业界还在研发更先进的耦合方式,如绝热耦合或采用插头/镜像子组件等。下图显示了通过不同方法连接的光纤阵列示例。 在未来 5至10 年内,每PIC 裸片的光纤数量需求将从目前的 2-8 根增加到接近 100 根。 - - - -上图中,A:示意图;B:印在光纤阵列上的自由空间微光学耦合器 (PHIX) 照片;C:SEM 图像和照片(Nanoscribe,PHIX);D:Photonic-Plug® (Teramount);E:基于微悬臂的光纤耦合 (MicroAlign ) - -未来的设计将采用新型先进光学封装技术将单模光纤 (SMF) 和保偏光纤 (PMF) 整合到光电共封装器件 (CPO) 中,以补充电气chiplet的异构集成。CPO 为数据移动提供了最高带宽密度和最低功率要求,同时还利用外部高功率激光器提供了出色的热性能和可靠性优势。随着AI数据中心和数据中心间应用的不断扩展,这一点变得尤为重要。目前处于小批量生产的 CPO 解决方案将需要新的封装技术,以有效扩展数据中心功率和带宽限制。工具的进步、广泛的可测试性设计 (DFT) 实施以及高速测试和组装平台对实现大批量制造都是十分必要的。 - -下面的两个图分别为 CPO 模块和光纤连接器示例。 - - - -图:Ayar实验室 在 SC23 上展示的 4 Tbps 光学支持英特尔 FPGA 设计。相比当前行业数据,该设计将带宽提高了5 倍,功耗降低了 5 倍,延迟降低了20 倍,且全部封装在通用 PCIe 外形尺寸中。(来源:Ayar实验室) - - - -当然,硅光子封装技术还需要不断的改进,如减小光纤节距以增加光纤 IO 密度,增加每PIC 的光纤数量,推动光纤和激光连接工艺中的链路预算损耗改善,以及改进晶圆和组装光子测试技术以在最严格的系统链路预算下确保高产量。封装和系统的可靠性需求还依赖光纤与传统芯片封装交互 (CPI) 元件之间的交互,它驱动芯片光纤封装交互 (CFPI) 需求,从而确保可接受的可靠性和良率。与直接光纤连接方法相比,许多可插拔光纤 IO PIC 连接体积庞大。开发应侧重于将光互连可靠性演示扩展到 TELCORDIA 以外,并涵盖JEDEC、MIL 和 AEC 测试菜单。 - -要通过这些测试,很大程度上取决于与供应商合作的封装设计、材料和组装操作选择。本路线图将与 DARPA Photonics 的极端可扩展性光子学封裝(Photonics in the Package for Extreme Scalability, PIPES)目标一致,即每封装 100 Tbps,能量低于每比特 1 皮焦耳。光子学还将在下一代光探测和测距(LiDAR)、高级驾驶辅助系统(ADAS)、可穿戴医疗设备物联网和其他消费应用中发挥重要的作用。其中部分应用还需要将 III-V 激光二极管组装到 PIC 裸片上。目前,每个 PIC 可能有 1-2 个激光器,将来的 PIC 可能需要 4-16 个激光二极管。下图所示为 PIC chiplet的激光二极管集成开发数据示例。由于激光器通常会出现单点故障 (SPOF) ,这种集成将给光子集成系统的基板组装、热管理、模块良率和可靠性管理增加更多的复杂性。 - - - - -上图中,(a)-(d)在Si或SiN层上形成不同SSC的各种PIC 3D透视图;(e)-(f) 采用和不采用倒装芯片键合激光器的激光腔光学图像和 SEM;(g)-(j) 光-电流曲线、RIN、光谱特征和 SMSR 性能;(k)-(l) 晶圆级加速可靠性测试结果 - - - - - - - - - -
- -[https://zhuanlan.zhihu.com/p/693232895](https://zhuanlan.zhihu.com/p/693232895)
- - - diff --git a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/0.jpg b/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/0.jpg deleted file mode 100644 index 7bb52fa..0000000 Binary files a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/0.jpg and /dev/null differ diff --git a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/1.jpg b/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/1.jpg deleted file mode 100644 index 299fd69..0000000 Binary files a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/1.jpg and /dev/null differ diff --git a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/2.jpg b/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/2.jpg deleted file mode 100644 index 1f92601..0000000 Binary files a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/2.jpg and /dev/null differ diff --git a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/2024-04-28_11_12・IP_属地美国.txt b/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/2024-04-28_11_12・IP_属地美国.txt deleted file mode 100644 index 01616bd..0000000 --- a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/2024-04-28_11_12・IP_属地美国.txt +++ /dev/null @@ -1,2 +0,0 @@ -2024-04-28_11_12・IP_属地美国 -https://zhuanlan.zhihu.com/p/694972358 \ No newline at end of file diff --git a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/电池倍率c是什么意思.pdf b/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/电池倍率c是什么意思.pdf deleted file mode 100644 index 42bde99..0000000 Binary files a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/电池倍率c是什么意思.pdf and /dev/null differ diff --git a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/电池倍率c是什么意思_formula_.md b/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/电池倍率c是什么意思_formula_.md deleted file mode 100644 index a73f05c..0000000 --- a/article/2024-04-28_11_12_电池倍率c是什么意思_IP_属地美国/电池倍率c是什么意思_formula_.md +++ /dev/null @@ -1,74 +0,0 @@ -# 电池倍率c是什么意思?怎么看电池容量? - -[转载自](https://zhuanlan.zhihu.com/p/694972358) - -## **确定设备运行时间的关键部分是验证电池的容量和额定功率。** - -如果您仅仅根据制造商的技术资料来确定设备的运行时间,得到的结果可能会不准确。技术资料上的容量通常基于理想条件,代表最大可能电量。在实际应用中,实际容量通常会低一些。 - -## 怎么看电池容量? - -电池容量指电池按照规定要容纳的电量,以安培-小时(Ah)为单位。它与电池的额定功率不同,后者以瓦特-小时(Wh)为单位。额定功率通常是电池容量(Ah)乘以其标示的额定电压(V)。 - -根据您的应用,其中一个值可能比另一个值更为重要,因此需要对额定功率和电池容量这两个值都加以验证。温度和电池寿命也会影响从电池获得的电量,因此在测量运行时间时也必须对这些因素加以考虑。 - - **验证电池容量和额定功率需要在精确控制的条件下对电压和电流进行精确记录。** - -充电(对于可充电电池)和放电条件上非常小的差异可能导致从电池获得的电池容量和能量出现大的差异。精确地复制并控制所有条件以获得最佳结果至关重要。 - -关键条件之一是放电倍率,通常表示为恒定电流与 Ah 额定容量的比率,称为 C倍率。 - -## 电池倍率c是什么意思? - -电池倍率C是用来表示电池充放电能力倍率。倍率C是电池的容量与其额定容量的比值,即:C=电池容量/额定容量。1C表示电池一小时完全放电时电流强度。 - -C倍率是电池运行时间的倒数。放电倍率越高,容量和能量输送越低,因此 0.3 的 C倍率理论上会在 3.33 小时内将电池完全放电。对于 2-Ah 的电池,0.3 的 C倍率相当于 0.6 A 的恒定电流放电。测得的额定功率可能与基于标示的额定电压值的额定功率不同,因为实际的电池放电电压曲线可能会使得结果稍有变化。精确地控制测试条件,同时准确地记录电池的电流和电压,可以确保在确定电池容量和额定功率时获得准确、一致的结果。 - -## **验证电池容量和额定功率的示例** - -我们使用图 1 所示的设置以固定的 C倍率对可充电锂离子电池进行放电。 - -Keysight N6781A 和 N6785A 电源测量单元具有完整的两象限能力,使其非常适合用作精密高性能电子负载和精密直流电源。我们很快配置了具有 3.0 V 截止电压的 0.3 A 恒定电流放电以及长期数据记录,以便使用配套的 Keysight 14585A 软件来验证容量和额定功率。 - -[源表模块 (SMU)/ 电源系统​www.keysight.com.cn/cn/zh/products/source-measure-units-smu/source-measure-units-smus-modules-n6700-power-system.html](https://www.keysight.com.cn/cn/zh/products/source-measure-units-smu/source-measure-units-smus-modules-n6700-power-system.html) - -电池的验证结果和额定功率如图 2 所示。 - -将测量标记放置在数据记录的开始处和截止电压点上,显示出电池的容量为 879mAh,功率为 3.32Wh,两者均显著低于电池技术资料中注明的 1 Ah 和 3.6 Wh 的额定值。 - -接下来的步骤是确定什么因素导致了这样的差异,并且评测是否可以从电池获得额外的容量。 - -如本例所示,您应当对电池的容量和功率加以验证,而不要依赖产品的技术资料。 - - - - - -有一个工具特别适合于此项任务,它就是 CX3300 器件电流波形分析仪的自动电流和功率分析工具。它自动将波形划分成段,并以图形和表格方式提供每个波形段的完整分析。 - - - -[CX3300APPC 电流波形分析软件​www.keysight.com.cn/cn/zh/product/CX3300APPC/current-waveform-analytics-software.html](https://www.keysight.com.cn/cn/zh/product/CX3300APPC/current-waveform-analytics-software.html) - - **查看应用指南,找到您需要的資料** - -[如何通过异常波形分析加速电源管理集成电路的验证?​www.keysight.com.cn/cn/zh/assets/3120-1366/application-notes/Accelerate-the-Validation-of-a-Power-Management-Integrated-Circuit-with-Anomalous-Waveform-Analytics.pdf](https://www.keysight.com.cn/cn/zh/assets/3120-1366/application-notes/Accelerate-the-Validation-of-a-Power-Management-Integrated-Circuit-with-Anomalous-Waveform-Analytics.pdf) - -[如何消除锂离子电池自放电中的噪声?​www.keysight.com.cn/cn/zh/assets/7018-06971/application-notes/5992-3979.pdf](https://www.keysight.com.cn/cn/zh/assets/7018-06971/application-notes/5992-3979.pdf) - -[简化电池容量和额定能量的验证流程​www.keysight.com.cn/cn/zh/assets/7018-03187/technical-overviews/5990-9264.pdf](https://www.keysight.com.cn/cn/zh/assets/7018-03187/technical-overviews/5990-9264.pdf) - -确定智能手机和移动设备电池允许时间的的一个关键步骤, 就说是验证电池的容量和额定能量。 如果您只根据制造商的技术资料确定手机的运行时间,而不具体验证电池的容量和额定能量,您的结果一定不精确。电池的标称容量通常以理想条件为基础,代表可从电池获得的最大电量。但事实是, 在应用中进行验证时,实际容量最终都小于标称容量。在应用中进行验证时,实际容量最终都小于标称容量。 - -电池容量是电池规定拥有的以安时 (Ah) 或毫安时 (mAh) 表示的电容量。这与电池的额定能量不同,额定能量的单位是瓦特小时 (Wh)。通过将电池容量 (Ah) 乘以标称的额定电压 (V),您可以确定额定能量。对于移动设备的运行时间来说,电池的实际能量比电池的容量更重要,因此对这个两个值进行验证是非常重要的。 - -请下载本文并了解简化电池容量和额定能量的验证流程。 - -[联系是德科技](https://www.keysight.com.cn/cn/zh/contact.html) - -
- -[https://zhuanlan.zhihu.com/p/694972358](https://zhuanlan.zhihu.com/p/694972358)
- - - diff --git a/article/article.txt b/article/article.txt deleted file mode 100644 index 66f0a0e..0000000 --- a/article/article.txt +++ /dev/null @@ -1,26 +0,0 @@ -https://zhuanlan.zhihu.com/p/100595803 雷达信号仿真的基本原理——时延与相位的变化 -https://zhuanlan.zhihu.com/p/508764579 FMCW雷达系统信号处理建模与仿真 -https://zhuanlan.zhihu.com/p/692774632 初次尝试编写Apache Shiro应用程序 -https://zhuanlan.zhihu.com/p/92905127 波束合成——相控阵雷达的大杀器 -https://zhuanlan.zhihu.com/p/92905007 使用MATLAB工具箱来玩FMCW毫米波雷达仿真 -https://zhuanlan.zhihu.com/p/693232895 美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺 -https://zhuanlan.zhihu.com/p/363634566 从主动降噪耳机说到——LMS自适应滤波 -https://zhuanlan.zhihu.com/p/69279528 窄带信号的通道矢量校正算法 -https://zhuanlan.zhihu.com/p/360207704 CAE设计师的你,有必要了解计算电磁学吗? -https://zhuanlan.zhihu.com/p/676998456 CAE设计师 -https://zhuanlan.zhihu.com/p/390004533 利用MATLAB实现电磁场的可视化 -https://zhuanlan.zhihu.com/p/389642864 麦克斯韦方程组总结 -https://zhuanlan.zhihu.com/p/452461912 正交曲线坐标系中梯度、散度、旋度的理解与记忆 -https://zhuanlan.zhihu.com/p/499075895 spring教程 -https://zhuanlan.zhihu.com/p/665405974 2D 游戏物理引擎 - 关节约束 -https://zhuanlan.zhihu.com/p/694972358 电池倍率c是什么意思 -https://zhuanlan.zhihu.com/p/691026654 混频器的作用 -https://zhuanlan.zhihu.com/p/500893071 几何约束 -https://zhuanlan.zhihu.com/p/603862811 MPPT原理 -https://zhuanlan.zhihu.com/p/340089663 单位向量的Jacobian -https://zhuanlan.zhihu.com/p/342679387 向量叉乘 -https://zhuanlan.zhihu.com/p/688758844 零极点图 -https://zhuanlan.zhihu.com/p/688758844 零极点图2 -https://zhuanlan.zhihu.com/p/690031301 零极点图3 -https://zhuanlan.zhihu.com/p/357597649 考研数学 -https://zhuanlan.zhihu.com/p/445665310 ISO 10303 \ No newline at end of file diff --git a/cookie/cookie_zhihu.pkl b/cookie/cookie_zhihu.pkl deleted file mode 100644 index 7bec3a8..0000000 Binary files a/cookie/cookie_zhihu.pkl and /dev/null differ diff --git a/crawler.py b/crawler.py index 45aae47..8198022 100644 --- a/crawler.py +++ b/crawler.py @@ -400,6 +400,7 @@ def parser_beautiful(innerHTML, article, number, dircrea, bk=False): continue if response.status_code==200: # article += ''''''%number + dircrea.replace('.','') with open(os.path.join(dircrea, str(number) + '.jpg'), 'wb') as obj: obj.write(response.content) diff --git a/log/2024-04-18T21_13_27.623489_log.txt b/log/2024-04-18T21_13_27.623489_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-18T21_17_41.941336_log.txt b/log/2024-04-18T21_17_41.941336_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-18T21_20_03.962763_log.txt b/log/2024-04-18T21_20_03.962763_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-18T21_20_26.545805_log.txt b/log/2024-04-18T21_20_26.545805_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-18T21_20_31.017203_log.txt b/log/2024-04-18T21_20_31.017203_log.txt deleted file mode 100644 index 268b8ca..0000000 --- a/log/2024-04-18T21_20_31.017203_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:离职了的相关的内容 24.227 -爬取一篇article耗时:在vscode配置c\c++的运行环境 23.608 -爬取一篇article耗时:泊松分布的现实意义以及现实生活多数服从于泊松分布 23.183 diff --git a/log/2024-04-18T21_22_12.648748_log.txt b/log/2024-04-18T21_22_12.648748_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-18T21_23_17.519094_log.txt b/log/2024-04-18T21_23_17.519094_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-18T21_23_24.171613_log.txt b/log/2024-04-18T21_23_24.171613_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-18T21_24_40.386796_log.txt b/log/2024-04-18T21_24_40.386796_log.txt deleted file mode 100644 index 98058c3..0000000 --- a/log/2024-04-18T21_24_40.386796_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:0.0 -2024-04-18T21_24_47.370157, article爬取已经好了的 diff --git a/log/2024-04-18T21_25_04.948380_log.txt b/log/2024-04-18T21_25_04.948380_log.txt deleted file mode 100644 index de9d114..0000000 --- a/log/2024-04-18T21_25_04.948380_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:0.0 -2024-04-18T21_25_11.536627, article爬取已经好了的 diff --git a/log/2024-04-18T21_26_50.845648_log.txt b/log/2024-04-18T21_26_50.845648_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-18T21_28_16.591658_log.txt b/log/2024-04-18T21_28_16.591658_log.txt deleted file mode 100644 index 46054cd..0000000 --- a/log/2024-04-18T21_28_16.591658_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:FMCW毫米波雷达测距原理及仿真 29.986 -平均爬取一篇article耗时:29.986 -2024-04-18T21_28_54.069261, article爬取已经好了的 diff --git a/log/2024-04-18T21_36_07.539455_log.txt b/log/2024-04-18T21_36_07.539455_log.txt deleted file mode 100644 index e532314..0000000 --- a/log/2024-04-18T21_36_07.539455_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:FMCW雷达系统信号处理建模与仿真 129.248 -平均爬取一篇article耗时:129.248 -2024-04-18T21_38_23.530286, article爬取已经好了的 diff --git a/log/2024-04-18T22_28_42.965226_log.txt b/log/2024-04-18T22_28_42.965226_log.txt deleted file mode 100644 index 49ad225..0000000 --- a/log/2024-04-18T22_28_42.965226_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:0.0 -2024-04-18T22_28_51.224350, article爬取已经好了的 diff --git a/log/2024-04-18T22_53_14.969037_log.txt b/log/2024-04-18T22_53_14.969037_log.txt deleted file mode 100644 index b625c56..0000000 --- a/log/2024-04-18T22_53_14.969037_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:初次尝试编写Apache_Shiro应用程序 25.371 -平均爬取一篇article耗时:25.371 -2024-04-18T22_53_50.982999, article爬取已经好了的 diff --git a/log/2024-04-18T23_01_54.230314_log.txt b/log/2024-04-18T23_01_54.230314_log.txt deleted file mode 100644 index ffe9877..0000000 --- a/log/2024-04-18T23_01_54.230314_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:0.0 -2024-04-18T23_02_02.740751, article爬取已经好了的 diff --git a/log/2024-04-18T23_04_54.205650_log.txt b/log/2024-04-18T23_04_54.205650_log.txt deleted file mode 100644 index b0a552a..0000000 --- a/log/2024-04-18T23_04_54.205650_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:波束合成——相控阵雷达的大杀器 100.199 -平均爬取一篇article耗时:100.199 -2024-04-18T23_06_45.624232, article爬取已经好了的 diff --git a/log/2024-04-18T23_14_31.217644_log.txt b/log/2024-04-18T23_14_31.217644_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T09_59_18.730330_log.txt b/log/2024-04-20T09_59_18.730330_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T10_04_06.382683_log.txt b/log/2024-04-20T10_04_06.382683_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T10_05_19.781990_log.txt b/log/2024-04-20T10_05_19.781990_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T10_17_01.473541_log.txt b/log/2024-04-20T10_17_01.473541_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T10_18_05.250074_log.txt b/log/2024-04-20T10_18_05.250074_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T10_20_23.836783_log.txt b/log/2024-04-20T10_20_23.836783_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T10_26_40.377903_log.txt b/log/2024-04-20T10_26_40.377903_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T10_27_14.459364_log.txt b/log/2024-04-20T10_27_14.459364_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T11_07_11.788950_log.txt b/log/2024-04-20T11_07_11.788950_log.txt deleted file mode 100644 index 69a7942..0000000 --- a/log/2024-04-20T11_07_11.788950_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:1003.504 -2024-04-20T11_07_20.198274, article爬取已经好了的 diff --git a/log/2024-04-20T11_20_36.728690_log.txt b/log/2024-04-20T11_20_36.728690_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T14_27_02.860933_log.txt b/log/2024-04-20T14_27_02.860933_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T14_29_03.432767_log.txt b/log/2024-04-20T14_29_03.432767_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T14_30_45.440448_log.txt b/log/2024-04-20T14_30_45.440448_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T14_49_05.210670_log.txt b/log/2024-04-20T14_49_05.210670_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T15_01_22.517720_log.txt b/log/2024-04-20T15_01_22.517720_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T15_25_19.144700_log.txt b/log/2024-04-20T15_25_19.144700_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T15_26_25.869254_log.txt b/log/2024-04-20T15_26_25.869254_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T15_26_49.473596_log.txt b/log/2024-04-20T15_26_49.473596_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T15_27_54.111217_log.txt b/log/2024-04-20T15_27_54.111217_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T15_30_21.752236_log.txt b/log/2024-04-20T15_30_21.752236_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-20T15_42_00.362808_log.txt b/log/2024-04-20T15_42_00.362808_log.txt deleted file mode 100644 index b658086..0000000 --- a/log/2024-04-20T15_42_00.362808_log.txt +++ /dev/null @@ -1,7 +0,0 @@ -爬取一篇article耗时:FMCW雷达系统信号处理建模与仿真 135.122 -爬取一篇article耗时:初次尝试编写Apache_Shiro应用程序 354.082 -爬取一篇article耗时:波束合成——相控阵雷达的大杀器 101.435 -爬取一篇article耗时:雷达信号仿真的基本原理——时延与相位的变化 75.777 -爬取一篇article耗时:使用MATLAB工具箱来玩FMCW毫米波雷达仿真 69.194 -平均爬取一篇article耗时:147.122 -2024-04-20T15_54_23.239899, article爬取已经好了的 diff --git a/log/2024-04-20T18_47_40.201025_log.txt b/log/2024-04-20T18_47_40.201025_log.txt deleted file mode 100644 index 957d286..0000000 --- a/log/2024-04-20T18_47_40.201025_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:初次尝试编写Apache_Shiro应用程序 24.198 -平均爬取一篇article耗时:24.198 -2024-04-20T18_48_12.125182, article爬取已经好了的 diff --git a/log/2024-04-20T18_52_12.862766_log.txt b/log/2024-04-20T18_52_12.862766_log.txt deleted file mode 100644 index 15f9393..0000000 --- a/log/2024-04-20T18_52_12.862766_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺 129.203 -平均爬取一篇article耗时:129.204 -2024-04-20T18_54_29.814343, article爬取已经好了的 diff --git a/log/2024-04-20T23_18_51.137434_log.txt b/log/2024-04-20T23_18_51.137434_log.txt deleted file mode 100644 index 56b7d8d..0000000 --- a/log/2024-04-20T23_18_51.137434_log.txt +++ /dev/null @@ -1,4 +0,0 @@ -爬取一篇article耗时:从主动降噪耳机说到——LMS自适应滤波 58.655 -爬取一篇article耗时:窄带信号的通道矢量校正算法 77.791 -平均爬取一篇article耗时:68.223 -2024-04-20T23_21_16.074212, article爬取已经好了的 diff --git a/log/2024-04-22T02_33_35.438510_log.txt b/log/2024-04-22T02_33_35.438510_log.txt deleted file mode 100644 index 7f61fcb..0000000 --- a/log/2024-04-22T02_33_35.438510_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:CAE设计师的你,有必要了解计算电磁学吗? 419.158 -平均爬取一篇article耗时:419.159 -2024-04-22T02_40_42.678832, article爬取已经好了的 diff --git a/log/2024-04-22T23_43_22.034972_log.txt b/log/2024-04-22T23_43_22.034972_log.txt deleted file mode 100644 index 8d3d770..0000000 --- a/log/2024-04-22T23_43_22.034972_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:4003.763 -2024-04-22T23_43_30.574296, article爬取已经好了的 diff --git a/log/2024-04-22T23_43_51.317647_log.txt b/log/2024-04-22T23_43_51.317647_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-04-27T01_57_49.439116_log.txt b/log/2024-04-27T01_57_49.439116_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-01T16_45_09.543195_log.txt b/log/2024-05-01T16_45_09.543195_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-01T16_47_39.954680_log.txt b/log/2024-05-01T16_47_39.954680_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-01T19_32_35.884208_log.txt b/log/2024-05-01T19_32_35.884208_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-01T20_03_34.679766_log.txt b/log/2024-05-01T20_03_34.679766_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-01T22_52_57.903023_log.txt b/log/2024-05-01T22_52_57.903023_log.txt deleted file mode 100644 index d350062..0000000 --- a/log/2024-05-01T22_52_57.903023_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:3002.167 -2024-05-01T22_53_06.108459, article爬取已经好了的 diff --git a/log/2024-05-01T22_53_58.373067_log.txt b/log/2024-05-01T22_53_58.373067_log.txt deleted file mode 100644 index f64b0a5..0000000 --- a/log/2024-05-01T22_53_58.373067_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:4383.802 -2024-05-01T22_54_06.047492, article爬取已经好了的 diff --git a/log/2024-05-01T22_54_30.694192_log.txt b/log/2024-05-01T22_54_30.694192_log.txt deleted file mode 100644 index 2f69011..0000000 --- a/log/2024-05-01T22_54_30.694192_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:FMCW雷达系统信号处理建模与仿真 162.084 -平均爬取一篇article耗时:162.087 -2024-05-01T22_57_21.138596, article爬取已经好了的 diff --git a/log/2024-05-03T15_44_52.035081_log.txt b/log/2024-05-03T15_44_52.035081_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-03T15_47_41.844980_log.txt b/log/2024-05-03T15_47_41.844980_log.txt deleted file mode 100644 index f4707c9..0000000 --- a/log/2024-05-03T15_47_41.844980_log.txt +++ /dev/null @@ -1,15 +0,0 @@ -爬取一篇article耗时:FMCW雷达系统信号处理建模与仿真 138.071 -爬取一篇article耗时:初次尝试编写Apache_Shiro应用程序 24.241 -爬取一篇article耗时:波束合成——相控阵雷达的大杀器 103.947 -爬取一篇article耗时:雷达信号仿真的基本原理——时延与相位的变化 76.847 -爬取一篇article耗时:使用MATLAB工具箱来玩FMCW毫米波雷达仿真 71.246 -爬取一篇article耗时:美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺 131.253 -爬取一篇article耗时:从主动降噪耳机说到——LMS自适应滤波 58.149 -爬取一篇article耗时:窄带信号的通道矢量校正算法 77.299 -爬取一篇article耗时:CAE设计师的你,有必要了解计算电磁学吗? 409.499 -爬取一篇article耗时:CAE设计师 91.949 -爬取一篇article耗时:利用MATLAB实现电磁场的可视化 103.444 -爬取一篇article耗时:麦克斯韦方程组总结 89.447 -爬取一篇article耗时:正交曲线坐标系中梯度、散度、旋度的理解与记忆 50.894 -平均爬取一篇article耗时:109.714 -2024-05-03T16_11_35.752635, article爬取已经好了的 diff --git a/log/2024-05-03T23_10_17.089816_log.txt b/log/2024-05-03T23_10_17.089816_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-03T23_13_31.771004_log.txt b/log/2024-05-03T23_13_31.771004_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-03T23_17_38.129234_log.txt b/log/2024-05-03T23_17_38.129234_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-03T23_37_47.555985_log.txt b/log/2024-05-03T23_37_47.555985_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-03T23_37_58.558759_log.txt b/log/2024-05-03T23_37_58.558759_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-03T23_45_02.658810_log.txt b/log/2024-05-03T23_45_02.658810_log.txt deleted file mode 100644 index 1c79a3e..0000000 --- a/log/2024-05-03T23_45_02.658810_log.txt +++ /dev/null @@ -1,10 +0,0 @@ -爬取一篇article耗时:美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺 129.383 -爬取一篇article耗时:从主动降噪耳机说到——LMS自适应滤波 57.629 -爬取一篇article耗时:窄带信号的通道矢量校正算法 76.378 -爬取一篇article耗时:CAE设计师的你,有必要了解计算电磁学吗? 407.739 -爬取一篇article耗时:CAE设计师 89.879 -爬取一篇article耗时:利用MATLAB实现电磁场的可视化 103.709 -爬取一篇article耗时:麦克斯韦方程组总结 89.094 -爬取一篇article耗时:正交曲线坐标系中梯度、散度、旋度的理解与记忆 50.305 -平均爬取一篇article耗时:125.515 -2024-05-04T00_01_55.058557, article爬取已经好了的 diff --git a/log/2024-05-04T00_10_45.029212_log.txt b/log/2024-05-04T00_10_45.029212_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T00_13_48.141221_log.txt b/log/2024-05-04T00_13_48.141221_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T00_16_56.601762_log.txt b/log/2024-05-04T00_16_56.601762_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T00_24_58.723505_log.txt b/log/2024-05-04T00_24_58.723505_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T00_26_22.933394_log.txt b/log/2024-05-04T00_26_22.933394_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T00_29_59.404878_log.txt b/log/2024-05-04T00_29_59.404878_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T00_37_07.821233_log.txt b/log/2024-05-04T00_37_07.821233_log.txt deleted file mode 100644 index ada2cd0..0000000 --- a/log/2024-05-04T00_37_07.821233_log.txt +++ /dev/null @@ -1,15 +0,0 @@ -爬取一篇article耗时:FMCW雷达系统信号处理建模与仿真 137.465 -爬取一篇article耗时:初次尝试编写Apache_Shiro应用程序 24.104 -爬取一篇article耗时:波束合成——相控阵雷达的大杀器 103.053 -爬取一篇article耗时:雷达信号仿真的基本原理——时延与相位的变化 76.617 -爬取一篇article耗时:使用MATLAB工具箱来玩FMCW毫米波雷达仿真 70.475 -爬取一篇article耗时:美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺 128.72 -爬取一篇article耗时:从主动降噪耳机说到——LMS自适应滤波 57.34 -爬取一篇article耗时:窄带信号的通道矢量校正算法 76.266 -爬取一篇article耗时:CAE设计师的你,有必要了解计算电磁学吗? 405.999 -爬取一篇article耗时:CAE设计师 90.008 -爬取一篇article耗时:利用MATLAB实现电磁场的可视化 102.849 -爬取一篇article耗时:麦克斯韦方程组总结 89.436 -爬取一篇article耗时:正交曲线坐标系中梯度、散度、旋度的理解与记忆 50.611 -平均爬取一篇article耗时:108.688 -2024-05-04T01_00_50.429028, article爬取已经好了的 diff --git a/log/2024-05-04T01_52_12.342449_log.txt b/log/2024-05-04T01_52_12.342449_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T02_02_13.296407_log.txt b/log/2024-05-04T02_02_13.296407_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T02_05_33.565655_log.txt b/log/2024-05-04T02_05_33.565655_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T02_12_24.230273_log.txt b/log/2024-05-04T02_12_24.230273_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-04T14_58_16.895188_log.txt b/log/2024-05-04T14_58_16.895188_log.txt deleted file mode 100644 index bfe73ba..0000000 --- a/log/2024-05-04T14_58_16.895188_log.txt +++ /dev/null @@ -1,7 +0,0 @@ -爬取一篇article耗时:CAE设计师的你,有必要了解计算电磁学吗? 409.54 -爬取一篇article耗时:CAE设计师 1350.744 -爬取一篇article耗时:利用MATLAB实现电磁场的可视化 104.282 -爬取一篇article耗时:麦克斯韦方程组总结 90.443 -爬取一篇article耗时:正交曲线坐标系中梯度、散度、旋度的理解与记忆 50.877 -平均爬取一篇article耗时:401.178 -2024-05-04T15_31_51.683641, article爬取已经好了的 diff --git a/log/2024-05-05T23_44_37.481364_log.txt b/log/2024-05-05T23_44_37.481364_log.txt deleted file mode 100644 index 026ed4d..0000000 --- a/log/2024-05-05T23_44_37.481364_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:5004.406 -2024-05-05T23_44_45.716823, article爬取已经好了的 diff --git a/log/2024-05-06T00_21_34.437821_log.txt b/log/2024-05-06T00_21_34.437821_log.txt deleted file mode 100644 index 58812d1..0000000 --- a/log/2024-05-06T00_21_34.437821_log.txt +++ /dev/null @@ -1,15 +0,0 @@ -爬取一篇article耗时:雷达信号仿真的基本原理——时延与相位的变化 77.329 -爬取一篇article耗时:FMCW雷达系统信号处理建模与仿真 883.23 -爬取一篇article耗时:初次尝试编写Apache_Shiro应用程序 24.336 -爬取一篇article耗时:波束合成——相控阵雷达的大杀器 103.197 -爬取一篇article耗时:使用MATLAB工具箱来玩FMCW毫米波雷达仿真 70.117 -爬取一篇article耗时:美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺 129.04 -爬取一篇article耗时:从主动降噪耳机说到——LMS自适应滤波 57.377 -爬取一篇article耗时:窄带信号的通道矢量校正算法 76.611 -爬取一篇article耗时:CAE设计师的你,有必要了解计算电磁学吗? 407.008 -爬取一篇article耗时:CAE设计师 90.004 -爬取一篇article耗时:利用MATLAB实现电磁场的可视化 103.342 -爬取一篇article耗时:麦克斯韦方程组总结 89.269 -爬取一篇article耗时:正交曲线坐标系中梯度、散度、旋度的理解与记忆 50.446 -平均爬取一篇article耗时:166.254 -2024-05-06T00_57_44.168288, article爬取已经好了的 diff --git a/log/2024-05-08T20_48_51.242649_log.txt b/log/2024-05-08T20_48_51.242649_log.txt deleted file mode 100644 index 48bcd08..0000000 --- a/log/2024-05-08T20_48_51.242649_log.txt +++ /dev/null @@ -1,15 +0,0 @@ -爬取一篇article耗时:雷达信号仿真的基本原理——时延与相位的变化 78.085 -爬取一篇article耗时:FMCW雷达系统信号处理建模与仿真 137.873 -爬取一篇article耗时:初次尝试编写Apache_Shiro应用程序 24.832 -爬取一篇article耗时:波束合成——相控阵雷达的大杀器 104.361 -爬取一篇article耗时:使用MATLAB工具箱来玩FMCW毫米波雷达仿真 71.054 -爬取一篇article耗时:美国先进封装制造蓝图(二):高性能计算(HPC)芯片的封装工艺 128.872 -爬取一篇article耗时:从主动降噪耳机说到——LMS自适应滤波 58.38 -爬取一篇article耗时:窄带信号的通道矢量校正算法 77.685 -爬取一篇article耗时:CAE设计师的你,有必要了解计算电磁学吗? 407.236 -爬取一篇article耗时:CAE设计师 90.193 -爬取一篇article耗时:利用MATLAB实现电磁场的可视化 103.304 -爬取一篇article耗时:麦克斯韦方程组总结 90.552 -爬取一篇article耗时:正交曲线坐标系中梯度、散度、旋度的理解与记忆 51.881 -平均爬取一篇article耗时:109.562 -2024-05-08T21_12_44.293150, article爬取已经好了的 diff --git a/log/2024-05-09T02_39_42.323510_log.txt b/log/2024-05-09T02_39_42.323510_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_12_49.828769_log.txt b/log/2024-05-09T03_12_49.828769_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_18_38.776455_log.txt b/log/2024-05-09T03_18_38.776455_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_19_39.802231_log.txt b/log/2024-05-09T03_19_39.802231_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_20_19.630762_log.txt b/log/2024-05-09T03_20_19.630762_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_21_02.249982_log.txt b/log/2024-05-09T03_21_02.249982_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_23_16.182593_log.txt b/log/2024-05-09T03_23_16.182593_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_23_49.068918_log.txt b/log/2024-05-09T03_23_49.068918_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_24_15.472811_log.txt b/log/2024-05-09T03_24_15.472811_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_24_49.899578_log.txt b/log/2024-05-09T03_24_49.899578_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_25_09.284091_log.txt b/log/2024-05-09T03_25_09.284091_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_27_09.319486_log.txt b/log/2024-05-09T03_27_09.319486_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_27_50.596741_log.txt b/log/2024-05-09T03_27_50.596741_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T03_28_30.138051_log.txt b/log/2024-05-09T03_28_30.138051_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-09T17_55_25.974010_log.txt b/log/2024-05-09T17_55_25.974010_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-14T13_56_08.620849_log.txt b/log/2024-05-14T13_56_08.620849_log.txt deleted file mode 100644 index a585d42..0000000 --- a/log/2024-05-14T13_56_08.620849_log.txt +++ /dev/null @@ -1,8 +0,0 @@ -爬取一篇article耗时:CAE设计师的你,有必要了解计算电磁学吗? 1283.19 -爬取一篇article耗时:CAE设计师 90.868 -爬取一篇article耗时:利用MATLAB实现电磁场的可视化 103.061 -爬取一篇article耗时:麦克斯韦方程组总结 89.756 -爬取一篇article耗时:正交曲线坐标系中梯度、散度、旋度的理解与记忆 50.534 -爬取一篇article耗时:spring教程 76.793 -平均爬取一篇article耗时:282.368 -2024-05-14T14_24_30.601840, article爬取已经好了的 diff --git a/log/2024-05-14T14_34_03.914084_log.txt b/log/2024-05-14T14_34_03.914084_log.txt deleted file mode 100644 index 9068b56..0000000 --- a/log/2024-05-14T14_34_03.914084_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:2001.524 -2024-05-14T14_34_10.071404, article爬取已经好了的 diff --git a/log/2024-05-14T22_18_13.720267_log.txt b/log/2024-05-14T22_18_13.720267_log.txt deleted file mode 100644 index df49865..0000000 --- a/log/2024-05-14T22_18_13.720267_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:4530.43 -2024-05-14T22_18_21.098736, article爬取已经好了的 diff --git a/log/2024-05-17T12_32_48.007704_log.txt b/log/2024-05-17T12_32_48.007704_log.txt deleted file mode 100644 index 5b9bb81..0000000 --- a/log/2024-05-17T12_32_48.007704_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:2D_游戏物理引擎_-_关节约束 135.005 -平均爬取一篇article耗时:135.008 -2024-05-17T12_35_09.664934, article爬取已经好了的 diff --git a/log/2024-05-17T14_58_44.635682_log.txt b/log/2024-05-17T14_58_44.635682_log.txt deleted file mode 100644 index bbc2e40..0000000 --- a/log/2024-05-17T14_58_44.635682_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:2001.524 -2024-05-17T14_58_51.518510, article爬取已经好了的 diff --git a/log/2024-05-17T15_00_10.267599_log.txt b/log/2024-05-17T15_00_10.267599_log.txt deleted file mode 100644 index 09f6367..0000000 --- a/log/2024-05-17T15_00_10.267599_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:2D_游戏物理引擎_-_关节约束 128.104 -平均爬取一篇article耗时:128.108 -2024-05-17T15_02_25.850984, article爬取已经好了的 diff --git a/log/2024-05-17T15_07_00.436072_log.txt b/log/2024-05-17T15_07_00.436072_log.txt deleted file mode 100644 index d24eb60..0000000 --- a/log/2024-05-17T15_07_00.436072_log.txt +++ /dev/null @@ -1,4 +0,0 @@ -爬取一篇article耗时:电池倍率c是什么意思 43.983 -爬取一篇article耗时:混频器的作用 161.201 -平均爬取一篇article耗时:102.594 -2024-05-17T15_10_31.190796, article爬取已经好了的 diff --git a/log/2024-05-17T15_14_52.968754_log.txt b/log/2024-05-17T15_14_52.968754_log.txt deleted file mode 100644 index 177ceb1..0000000 --- a/log/2024-05-17T15_14_52.968754_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:几何约束 43.802 -平均爬取一篇article耗时:43.805 -2024-05-17T15_15_42.557954, article爬取已经好了的 diff --git a/log/2024-05-17T15_20_01.603351_log.txt b/log/2024-05-17T15_20_01.603351_log.txt deleted file mode 100644 index e5d4ef5..0000000 --- a/log/2024-05-17T15_20_01.603351_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:MPPT原理 122.779 -平均爬取一篇article耗时:122.783 -2024-05-17T15_22_10.793814, article爬取已经好了的 diff --git a/log/2024-05-17T18_27_39.340785_log.txt b/log/2024-05-17T18_27_39.340785_log.txt deleted file mode 100644 index 822dc00..0000000 --- a/log/2024-05-17T18_27_39.340785_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:单位向量的Jacobian 31.303 -平均爬取一篇article耗时:31.307 -2024-05-17T18_28_16.792375, article爬取已经好了的 diff --git a/log/2024-05-17T18_37_32.921769_log.txt b/log/2024-05-17T18_37_32.921769_log.txt deleted file mode 100644 index 984966d..0000000 --- a/log/2024-05-17T18_37_32.921769_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:向量叉乘 66.678 -平均爬取一篇article耗时:66.683 -2024-05-17T18_38_45.554402, article爬取已经好了的 diff --git a/log/2024-05-20T00_17_51.898862_log.txt b/log/2024-05-20T00_17_51.898862_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T00_20_07.397987_log.txt b/log/2024-05-20T00_20_07.397987_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T00_21_10.848816_log.txt b/log/2024-05-20T00_21_10.848816_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T00_21_43.529707_log.txt b/log/2024-05-20T00_21_43.529707_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T00_22_19.399693_log.txt b/log/2024-05-20T00_22_19.399693_log.txt deleted file mode 100644 index 34d5e0b..0000000 --- a/log/2024-05-20T00_22_19.399693_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:零极点图2 142.752 -平均爬取一篇article耗时:142.758 -2024-05-20T00_24_49.740523, article爬取已经好了的 diff --git a/log/2024-05-20T01_19_29.789025_log.txt b/log/2024-05-20T01_19_29.789025_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_19_50.792348_log.txt b/log/2024-05-20T01_19_50.792348_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_20_00.426933_log.txt b/log/2024-05-20T01_20_00.426933_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_20_10.582258_log.txt b/log/2024-05-20T01_20_10.582258_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_20_35.140113_log.txt b/log/2024-05-20T01_20_35.140113_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_20_54.134669_log.txt b/log/2024-05-20T01_20_54.134669_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_21_55.620925_log.txt b/log/2024-05-20T01_21_55.620925_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_22_43.709741_log.txt b/log/2024-05-20T01_22_43.709741_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_23_09.689173_log.txt b/log/2024-05-20T01_23_09.689173_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_40_09.054150_log.txt b/log/2024-05-20T01_40_09.054150_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_40_55.163597_log.txt b/log/2024-05-20T01_40_55.163597_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_42_22.215512_log.txt b/log/2024-05-20T01_42_22.215512_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/log/2024-05-20T01_46_29.312932_log.txt b/log/2024-05-20T01_46_29.312932_log.txt deleted file mode 100644 index 311514a..0000000 --- a/log/2024-05-20T01_46_29.312932_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇回答耗时:控制系统中的零极点有什么物理意义么? 33.681 -平均爬取一篇回答耗时:33.681 -2024-05-20T01_47_09.361327, 回答爬取已经好了的 diff --git a/log/2024-05-20T01_54_10.425561_log.txt b/log/2024-05-20T01_54_10.425561_log.txt deleted file mode 100644 index 05f528d..0000000 --- a/log/2024-05-20T01_54_10.425561_log.txt +++ /dev/null @@ -1,4 +0,0 @@ -爬取一篇回答耗时:直流电机建模 247.113 -爬取一篇回答耗时:零极点 34.024 -平均爬取一篇回答耗时:140.569 -2024-05-20T01_58_58.401830, 回答爬取已经好了的 diff --git a/log/2024-05-20T11_57_47.642506_log.txt b/log/2024-05-20T11_57_47.642506_log.txt deleted file mode 100644 index ab86557..0000000 --- a/log/2024-05-20T11_57_47.642506_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇回答耗时:零极点 37.496 -平均爬取一篇回答耗时:37.496 -2024-05-20T11_58_32.118408, 回答爬取已经好了的 diff --git a/log/2024-05-20T12_11_06.211245_log.txt b/log/2024-05-20T12_11_06.211245_log.txt deleted file mode 100644 index 2c7e50e..0000000 --- a/log/2024-05-20T12_11_06.211245_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -平均爬取一篇article耗时:5005.836 -2024-05-20T12_11_11.914547, article爬取已经好了的 diff --git a/log/2024-05-20T12_18_02.939193_log.txt b/log/2024-05-20T12_18_02.939193_log.txt deleted file mode 100644 index 026421e..0000000 --- a/log/2024-05-20T12_18_02.939193_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:零极点图3 96.57 -平均爬取一篇article耗时:96.574 -2024-05-20T12_19_45.884256, article爬取已经好了的 diff --git a/log/2024-05-20T12_43_53.470369_log.txt b/log/2024-05-20T12_43_53.470369_log.txt deleted file mode 100644 index 3616981..0000000 --- a/log/2024-05-20T12_43_53.470369_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:考研数学 243.999 -平均爬取一篇article耗时:244.005 -2024-05-20T12_48_04.087730, article爬取已经好了的 diff --git a/log/2024-05-20T18_10_14.184373_log.txt b/log/2024-05-20T18_10_14.184373_log.txt deleted file mode 100644 index 4315ca8..0000000 --- a/log/2024-05-20T18_10_14.184373_log.txt +++ /dev/null @@ -1,3 +0,0 @@ -爬取一篇article耗时:ISO_10303 23.939 -平均爬取一篇article耗时:23.943 -2024-05-20T18_10_44.327740, article爬取已经好了的 diff --git a/msedgedriver/Driver_Notes/LICENSE b/msedgedriver/Driver_Notes/LICENSE index 6e31672..0c64f9e 100644 --- a/msedgedriver/Driver_Notes/LICENSE +++ b/msedgedriver/Driver_Notes/LICENSE @@ -25,7398 +25,4 @@ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------- -Google Double Conversion --------------------- -Copyright 2006-2011, the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -QUICHE --------------------- -// Copyright 2015 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -Abseil --------------------- - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - --------------------- -Implementation of WebDriver BiDi standard --------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --------------------- -mitt --------------------- -MIT License - -Copyright (c) 2021 Jason Miller - -Permission 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. - --------------------- -urlpattern-polyfill --------------------- -Copyright 2020 Intel Corporation - -Permission 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. - --------------------- -zod --------------------- -MIT License - -Copyright (c) 2020 Colin McDonnell - -Permission 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 - --------------------- -WebKit --------------------- -(WebKit doesn't distribute an explicit license. This LICENSE is derived from -license text in the source.) - -Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -2006, 2007 Alexander Kellett, Alexey Proskuryakov, Alex Mathews, Allan -Sandfeld Jensen, Alp Toker, Anders Carlsson, Andrew Wellington, Antti -Koivisto, Apple Inc., Arthur Langereis, Baron Schwartz, Bjoern Graf, -Brent Fulgham, Cameron Zwarich, Charles Samuels, Christian Dywan, -Collabora Ltd., Cyrus Patel, Daniel Molkentin, Dave Maclachlan, David -Smith, Dawit Alemayehu, Dirk Mueller, Dirk Schulze, Don Gibson, Enrico -Ros, Eric Seidel, Frederik Holljen, Frerich Raabe, Friedmann Kleint, -George Staikos, Google Inc., Graham Dennis, Harri Porten, Henry Mason, -Hiroyuki Ikezoe, Holger Hans Peter Freyther, IBM, James G. Speth, Jan -Alonzo, Jean-Loup Gailly, John Reis, Jonas Witt, Jon Shier, Jonas -Witt, Julien Chaffraix, Justin Haygood, Kevin Ollivier, Kevin Watters, -Kimmo Kinnunen, Kouhei Sutou, Krzysztof Kowalczyk, Lars Knoll, Luca -Bruno, Maks Orlovich, Malte Starostik, Mark Adler, Martin Jones, -Marvin Decker, Matt Lilek, Michael Emmel, Mitz Pettel, mozilla.org, -Netscape Communications Corporation, Nicholas Shanks, Nikolas -Zimmermann, Nokia, Oliver Hunt, Opened Hand, Paul Johnston, Peter -Kelly, Pioneer Research Center USA, Rich Moore, Rob Buis, Robin Dunn, -Ronald Tschalär, Samuel Weinig, Simon Hausmann, Staikos Computing -Services Inc., Stefan Schimanski, Symantec Corporation, The Dojo -Foundation, The Karbon Developers, Thomas Boyer, Tim Copperfield, -Tobias Anton, Torben Weis, Trolltech, University of Cambridge, Vaclav -Slavik, Waldo Bastian, Xan Lopez, Zack Rusin - -The terms and conditions vary from file to file, but are one of: - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the - distribution. - -*OR* - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the - distribution. -3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - --------------------- -BoringSSL --------------------- -BoringSSL is a fork of OpenSSL. As such, large parts of it fall under OpenSSL -licensing. Files that are completely new have a Google copyright and an ISC -license. This license is reproduced at the bottom of this file. - -Contributors to BoringSSL are required to follow the CLA rules for Chromium: -https://cla.developers.google.com/clas - -Files in third_party/ have their own licenses, as described therein. The MIT -license, for third_party/fiat, which, unlike other third_party directories, is -compiled into non-test libraries, is included below. - -The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the -OpenSSL License and the original SSLeay license apply to the toolkit. See below -for the actual license texts. Actually both licenses are BSD-style Open Source -licenses. In case of any license issues related to OpenSSL please contact -openssl-core@openssl.org. - -The following are Google-internal bug numbers where explicit permission from -some authors is recorded for use of their work. (This is purely for our own -record keeping.) - 27287199 - 27287880 - 27287883 - 263291445 - - OpenSSL License - --------------- - -/* ==================================================================== - * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - Original SSLeay License - ----------------------- - -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - - -ISC license used for completely new code in BoringSSL: - -/* Copyright (c) 2015, Google Inc. - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - - -The code in third_party/fiat carries the MIT license: - -Copyright (c) 2015-2016 the fiat-crypto authors (see -https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS). - -Permission 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. - - -Licenses for support code -------------------------- - -Parts of the TLS test suite are under the Go license. This code is not included -in BoringSSL (i.e. libcrypto and libssl) when compiled, however, so -distributing code linked against BoringSSL does not trigger this license: - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -BoringSSL uses the Chromium test infrastructure to run a continuous build, -trybots etc. The scripts which manage this, and the script for generating build -metadata, are under the Chromium license. Distributing code linked against -BoringSSL does not trigger this license. - -Copyright 2015 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -Fiat-Crypto: Synthesizing Correct-by-Construction Code for Cryptographic Primitives --------------------- -The MIT License (MIT) - -Copyright (c) 2015-2020 the fiat-crypto authors (see -https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS). - -Permission 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. - --------------------- -Brotli --------------------- -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission 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. - --------------------- -Compact Encoding Detection --------------------- -// Copyright 2010 The Chromium Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google LLC nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -Crashpad --------------------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --------------------- -getopt --------------------- -Copyright (C) 1997 Gregory Pietsch - -[These files] are hereby placed in the public domain without restrictions. Just -give the author credit, don't claim you wrote it or prevent anyone else from -using it. - --------------------- -CRC32C --------------------- -Copyright 2017, The CRC32C Authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -d3 --------------------- -Copyright 2010-2023 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - --------------------- -dav1d is an AV1 decoder :) --------------------- -Copyright © 2018, VideoLAN and dav1d authors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -Dawn --------------------- -// Copyright 2017-2023 The Dawn & Tint Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -Expat XML Parser --------------------- -Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper -Copyright (c) 2001-2022 Expat maintainers - -Permission 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. - --------------------- -ffmpeg --------------------- -# License - -Most files in FFmpeg are under the GNU Lesser General Public License version 2.1 -or later (LGPL v2.1+). Read the file `COPYING.LGPLv2.1` for details. Some other -files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to -FFmpeg. - -Some optional parts of FFmpeg are licensed under the GNU General Public License -version 2 or later (GPL v2+). See the file `COPYING.GPLv2` for details. None of -these parts are used by default, you have to explicitly pass `--enable-gpl` to -configure to activate them. In this case, FFmpeg's license changes to GPL v2+. - -Specifically, the GPL parts of FFmpeg are: - -- libpostproc -- optional x86 optimization in the files - - `libavcodec/x86/flac_dsp_gpl.asm` - - `libavcodec/x86/idct_mmx.c` - - `libavfilter/x86/vf_removegrain.asm` -- the following building and testing tools - - `compat/solaris/make_sunver.pl` - - `doc/t2h.pm` - - `doc/texi2pod.pl` - - `libswresample/tests/swresample.c` - - `tests/checkasm/*` - - `tests/tiny_ssim.c` -- the following filters in libavfilter: - - `signature_lookup.c` - - `vf_blackframe.c` - - `vf_boxblur.c` - - `vf_colormatrix.c` - - `vf_cover_rect.c` - - `vf_cropdetect.c` - - `vf_delogo.c` - - `vf_eq.c` - - `vf_find_rect.c` - - `vf_fspp.c` - - `vf_histeq.c` - - `vf_hqdn3d.c` - - `vf_kerndeint.c` - - `vf_lensfun.c` (GPL version 3 or later) - - `vf_mcdeint.c` - - `vf_mpdecimate.c` - - `vf_nnedi.c` - - `vf_owdenoise.c` - - `vf_perspective.c` - - `vf_phase.c` - - `vf_pp.c` - - `vf_pp7.c` - - `vf_pullup.c` - - `vf_repeatfields.c` - - `vf_sab.c` - - `vf_signature.c` - - `vf_smartblur.c` - - `vf_spp.c` - - `vf_stereo3d.c` - - `vf_super2xsai.c` - - `vf_tinterlace.c` - - `vf_uspp.c` - - `vf_vaguedenoiser.c` - - `vsrc_mptestsrc.c` - -Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then -the configure parameter `--enable-version3` will activate this licensing option -for you. Read the file `COPYING.LGPLv3` or, if you have enabled GPL parts, -`COPYING.GPLv3` to learn the exact legal terms that apply in this case. - -There are a handful of files under other licensing terms, namely: - -* The files `libavcodec/jfdctfst.c`, `libavcodec/jfdctint_template.c` and - `libavcodec/jrevdct.c` are taken from libjpeg, see the top of the files for - licensing details. Specifically note that you must credit the IJG in the - documentation accompanying your program if you only distribute executables. - You must also indicate any changes including additions and deletions to - those three files in the documentation. -* `tests/reference.pnm` is under the expat license. - - -## External libraries - -FFmpeg can be combined with a number of external libraries, which sometimes -affect the licensing of binaries resulting from the combination. - -### Compatible libraries - -The following libraries are under GPL version 2: -- avisynth -- frei0r -- libcdio -- libdavs2 -- librubberband -- libvidstab -- libx264 -- libx265 -- libxavs -- libxavs2 -- libxvid - -When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by -passing `--enable-gpl` to configure. - -The following libraries are under LGPL version 3: -- gmp -- libaribb24 -- liblensfun - -When combining them with FFmpeg, use the configure option `--enable-version3` to -upgrade FFmpeg to the LGPL v3. - -The VMAF, mbedTLS, RK MPI, OpenCORE and VisualOn libraries are under the Apache License -2.0. That license is incompatible with the LGPL v2.1 and the GPL v2, but not with -version 3 of those licenses. So to combine these libraries with FFmpeg, the -license version needs to be upgraded by passing `--enable-version3` to configure. - -The smbclient library is under the GPL v3, to combine it with FFmpeg, -the options `--enable-gpl` and `--enable-version3` have to be passed to -configure to upgrade FFmpeg to the GPL v3. - -### Incompatible libraries - -There are certain libraries you can combine with FFmpeg whose licenses are not -compatible with the GPL and/or the LGPL. If you wish to enable these -libraries, even in circumstances that their license may be incompatible, pass -`--enable-nonfree` to configure. This will cause the resulting binary to be -unredistributable. - -The Fraunhofer FDK AAC and OpenSSL libraries are under licenses which are -incompatible with the GPLv2 and v3. To the best of our knowledge, they are -compatible with the LGPL. - - -******************************************************************************** - -libavformat/oggparsetheora.c - -Copyright (C) 2005 Matthieu CASTET, Alex Beregszaszi - -Permission 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. - -******************************************************************************** - -libavutil/x86/x86inc.asm - -x86inc.asm: x264asm abstraction layer - - Copyright (C) 2005-2018 x264 project - - Authors: Loren Merritt - Henrik Gramner - Anton Mitrofanov - Fiona Glaser - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -******************************************************************************** - -libavcodec/mips/compute_antialias_fixed.h -libavcodec/mips/compute_antialias_float.h -libavutil/fixed_dsp.c -libavutil/fixed_dsp.h -libavutil/mips/libm_mips.h - -Copyright (c) 2012 -MIPS Technologies, Inc., California. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -3. Neither the name of the MIPS Technologies, Inc., nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE MIPS TECHNOLOGIES, INC. ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE MIPS TECHNOLOGIES, INC. BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -Authors: -Branimir Vasic (bvasic@mips.com) -Darko Laus (darko@mips.com) -Djordje Pesut (djordje@mips.com) -Goran Cordasic (goran@mips.com) -Nedeljko Babic (nedeljko.babic imgtec com) -Mirjana Vulin (mvulin@mips.com) -Stanislav Ocovaj (socovaj@mips.com) -Zoran Lukic (zoranl@mips.com) - -******************************************************************************** - -libavformat/oggdec.c -libavformat/oggdec.h -libavformat/oggparseogm.c -libavformat/oggparsevorbis.c - -Copyright (C) 2005 Michael Ahlberg, MÃ¥ns RullgÃ¥rd - -Permission 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. - -******************************************************************************** - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! --------------------- -FreeType --------------------- - The FreeType Project LICENSE - ---------------------------- - - 2006-Jan-27 - - Copyright 1996-2002, 2006 by - David Turner, Robert Wilhelm, and Werner Lemberg - - - -Introduction -============ - - The FreeType Project is distributed in several archive packages; - some of them may contain, in addition to the FreeType font engine, - various tools and contributions which rely on, or relate to, the - FreeType Project. - - This license applies to all files found in such packages, and - which do not fall under their own explicit license. The license - affects thus the FreeType font engine, the test programs, - documentation and makefiles, at the very least. - - This license was inspired by the BSD, Artistic, and IJG - (Independent JPEG Group) licenses, which all encourage inclusion - and use of free software in commercial and freeware products - alike. As a consequence, its main points are that: - - o We don't promise that this software works. However, we will be - interested in any kind of bug reports. (`as is' distribution) - - o You can use this software for whatever you want, in parts or - full form, without having to pay us. (`royalty-free' usage) - - o You may not pretend that you wrote this software. If you use - it, or only parts of it, in a program, you must acknowledge - somewhere in your documentation that you have used the - FreeType code. (`credits') - - We specifically permit and encourage the inclusion of this - software, with or without modifications, in commercial products. - We disclaim all warranties covering The FreeType Project and - assume no liability related to The FreeType Project. - - - Finally, many people asked us for a preferred form for a - credit/disclaimer to use in compliance with this license. We thus - encourage you to use the following text: - - """ - Portions of this software are copyright © The FreeType - Project (www.freetype.org). All rights reserved. - """ - - Please replace with the value from the FreeType version you - actually use. - - -Legal Terms -=========== - -0. Definitions --------------- - - Throughout this license, the terms `package', `FreeType Project', - and `FreeType archive' refer to the set of files originally - distributed by the authors (David Turner, Robert Wilhelm, and - Werner Lemberg) as the `FreeType Project', be they named as alpha, - beta or final release. - - `You' refers to the licensee, or person using the project, where - `using' is a generic term including compiling the project's source - code as well as linking it to form a `program' or `executable'. - This program is referred to as `a program using the FreeType - engine'. - - This license applies to all files distributed in the original - FreeType Project, including all source code, binaries and - documentation, unless otherwise stated in the file in its - original, unmodified form as distributed in the original archive. - If you are unsure whether or not a particular file is covered by - this license, you must contact us to verify this. - - The FreeType Project is copyright (C) 1996-2000 by David Turner, - Robert Wilhelm, and Werner Lemberg. All rights reserved except as - specified below. - -1. No Warranty --------------- - - THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO - USE, OF THE FREETYPE PROJECT. - -2. Redistribution ------------------ - - This license grants a worldwide, royalty-free, perpetual and - irrevocable right and license to use, execute, perform, compile, - display, copy, create derivative works of, distribute and - sublicense the FreeType Project (in both source and object code - forms) and derivative works thereof for any purpose; and to - authorize others to exercise some or all of the rights granted - herein, subject to the following conditions: - - o Redistribution of source code must retain this license file - (`FTL.TXT') unaltered; any additions, deletions or changes to - the original files must be clearly indicated in accompanying - documentation. The copyright notices of the unaltered, - original files must be preserved in all copies of source - files. - - o Redistribution in binary form must provide a disclaimer that - states that the software is based in part of the work of the - FreeType Team, in the distribution documentation. We also - encourage you to put an URL to the FreeType web page in your - documentation, though this isn't mandatory. - - These conditions apply to any software derived from or based on - the FreeType Project, not just the unmodified files. If you use - our work, you must acknowledge us. However, no fee need be paid - to us. - -3. Advertising --------------- - - Neither the FreeType authors and contributors nor you shall use - the name of the other for commercial, advertising, or promotional - purposes without specific prior written permission. - - We suggest, but do not require, that you use one or more of the - following phrases to refer to this software in your documentation - or advertising materials: `FreeType Project', `FreeType Engine', - `FreeType library', or `FreeType Distribution'. - - As you have not signed this license, you are not required to - accept it. However, as the FreeType Project is copyrighted - material, only this license, or another one contracted with the - authors, grants you the right to use, distribute, and modify it. - Therefore, by using, distributing, or modifying the FreeType - Project, you indicate that you understand and accept all the terms - of this license. - -4. Contacts ------------ - - There are two mailing lists related to FreeType: - - o freetype@nongnu.org - - Discusses general use and applications of FreeType, as well as - future and wanted additions to the library and distribution. - If you are looking for support, start in this list if you - haven't found anything to help you in the documentation. - - o freetype-devel@nongnu.org - - Discusses bugs, as well as engine internals, design issues, - specific licenses, porting, etc. - - Our home page can be found at - - https://www.freetype.org - - ---- end of FTL.TXT --- - --------------------- -harfbuzz-ng --------------------- -HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. -For parts of HarfBuzz that are licensed under different licenses see individual -files names COPYING in subdirectories where applicable. - -Copyright © 2010-2022 Google, Inc. -Copyright © 2015-2020 Ebrahim Byagowi -Copyright © 2019,2020 Facebook, Inc. -Copyright © 2012,2015 Mozilla Foundation -Copyright © 2011 Codethink Limited -Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) -Copyright © 2009 Keith Stribley -Copyright © 2011 Martin Hosken and SIL International -Copyright © 2007 Chris Wilson -Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod -Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. -Copyright © 1998-2005 David Turner and Werner Lemberg -Copyright © 2016 Igalia S.L. -Copyright © 2022 Matthias Clasen -Copyright © 2018,2021 Khaled Hosny -Copyright © 2018,2019,2020 Adobe, Inc -Copyright © 2013-2015 Alexei Podtelezhnikov - -For full copyright notices consult the individual files in the package. - - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - --------------------- -icu --------------------- -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE - -See Terms of Use -for definitions of Unicode Inc.’s Data Files and Software. - -NOTICE TO USER: Carefully read the following legal agreement. -BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S -DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), -YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. -IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE -THE DATA FILES OR SOFTWARE. - -COPYRIGHT AND PERMISSION NOTICE - -Copyright © 1991-2023 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. - ----------------------------------------------------------------------- - -Third-Party Software Licenses - -This section contains third-party software notices and/or additional -terms for licensed third-party software components included within ICU -libraries. - ----------------------------------------------------------------------- - -ICU License - ICU 1.8.1 to ICU 57.1 - -COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 1995-2016 International Business Machines Corporation and others -All rights reserved. - -Permission 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, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, provided that the above -copyright notice(s) and this permission notice appear in all copies of -the Software and that both the above copyright notice(s) and this -permission notice appear in supporting documentation. - -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 -OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY -SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF -CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, use -or other dealings in this Software without prior written authorization -of the copyright holder. - -All trademarks and registered trademarks mentioned herein are the -property of their respective owners. - ----------------------------------------------------------------------- - -Chinese/Japanese Word Break Dictionary Data (cjdict.txt) - - # The Google Chrome software developed by Google is licensed under - # the BSD license. Other software included in this distribution is - # provided under other licenses, as set forth below. - # - # The BSD License - # http://opensource.org/licenses/bsd-license.php - # Copyright (C) 2006-2008, Google Inc. - # - # All rights reserved. - # - # Redistribution and use in source and binary forms, with or without - # modification, are permitted provided that the following conditions are met: - # - # Redistributions of source code must retain the above copyright notice, - # this list of conditions and the following disclaimer. - # Redistributions in binary form must reproduce the above - # copyright notice, this list of conditions and the following - # disclaimer in the documentation and/or other materials provided with - # the distribution. - # Neither the name of Google Inc. nor the names of its - # contributors may be used to endorse or promote products derived from - # this software without specific prior written permission. - # - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # - # - # The word list in cjdict.txt are generated by combining three word lists - # listed below with further processing for compound word breaking. The - # frequency is generated with an iterative training against Google web - # corpora. - # - # * Libtabe (Chinese) - # - https://sourceforge.net/project/?group_id=1519 - # - Its license terms and conditions are shown below. - # - # * IPADIC (Japanese) - # - http://chasen.aist-nara.ac.jp/chasen/distribution.html - # - Its license terms and conditions are shown below. - # - # ---------COPYING.libtabe ---- BEGIN-------------------- - # - # /* - # * Copyright (c) 1999 TaBE Project. - # * Copyright (c) 1999 Pai-Hsiang Hsiao. - # * All rights reserved. - # * - # * Redistribution and use in source and binary forms, with or without - # * modification, are permitted provided that the following conditions - # * are met: - # * - # * . Redistributions of source code must retain the above copyright - # * notice, this list of conditions and the following disclaimer. - # * . Redistributions in binary form must reproduce the above copyright - # * notice, this list of conditions and the following disclaimer in - # * the documentation and/or other materials provided with the - # * distribution. - # * . Neither the name of the TaBE Project nor the names of its - # * contributors may be used to endorse or promote products derived - # * from this software without specific prior written permission. - # * - # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - # * OF THE POSSIBILITY OF SUCH DAMAGE. - # */ - # - # /* - # * Copyright (c) 1999 Computer Systems and Communication Lab, - # * Institute of Information Science, Academia - # * Sinica. All rights reserved. - # * - # * Redistribution and use in source and binary forms, with or without - # * modification, are permitted provided that the following conditions - # * are met: - # * - # * . Redistributions of source code must retain the above copyright - # * notice, this list of conditions and the following disclaimer. - # * . Redistributions in binary form must reproduce the above copyright - # * notice, this list of conditions and the following disclaimer in - # * the documentation and/or other materials provided with the - # * distribution. - # * . Neither the name of the Computer Systems and Communication Lab - # * nor the names of its contributors may be used to endorse or - # * promote products derived from this software without specific - # * prior written permission. - # * - # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - # * OF THE POSSIBILITY OF SUCH DAMAGE. - # */ - # - # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, - # University of Illinois - # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 - # - # ---------------COPYING.libtabe-----END-------------------------------- - # - # - # ---------------COPYING.ipadic-----BEGIN------------------------------- - # - # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science - # and Technology. All Rights Reserved. - # - # Use, reproduction, and distribution of this software is permitted. - # Any copy of this software, whether in its original form or modified, - # must include both the above copyright notice and the following - # paragraphs. - # - # Nara Institute of Science and Technology (NAIST), - # the copyright holders, disclaims all warranties with regard to this - # software, including all implied warranties of merchantability and - # fitness, in no event shall NAIST be liable for - # any special, indirect or consequential damages or any damages - # whatsoever resulting from loss of use, data or profits, whether in an - # action of contract, negligence or other tortuous action, arising out - # of or in connection with the use or performance of this software. - # - # A large portion of the dictionary entries - # originate from ICOT Free Software. The following conditions for ICOT - # Free Software applies to the current dictionary as well. - # - # Each User may also freely distribute the Program, whether in its - # original form or modified, to any third party or parties, PROVIDED - # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear - # on, or be attached to, the Program, which is distributed substantially - # in the same form as set out herein and that such intended - # distribution, if actually made, will neither violate or otherwise - # contravene any of the laws and regulations of the countries having - # jurisdiction over the User or the intended distribution itself. - # - # NO WARRANTY - # - # The program was produced on an experimental basis in the course of the - # research and development conducted during the project and is provided - # to users as so produced on an experimental basis. Accordingly, the - # program is provided without any warranty whatsoever, whether express, - # implied, statutory or otherwise. The term "warranty" used herein - # includes, but is not limited to, any warranty of the quality, - # performance, merchantability and fitness for a particular purpose of - # the program and the nonexistence of any infringement or violation of - # any right of any third party. - # - # Each user of the program will agree and understand, and be deemed to - # have agreed and understood, that there is no warranty whatsoever for - # the program and, accordingly, the entire risk arising from or - # otherwise connected with the program is assumed by the user. - # - # Therefore, neither ICOT, the copyright holder, or any other - # organization that participated in or was otherwise related to the - # development of the program and their respective officials, directors, - # officers and other employees shall be held liable for any and all - # damages, including, without limitation, general, special, incidental - # and consequential damages, arising out of or otherwise in connection - # with the use or inability to use the program or any product, material - # or result produced or otherwise obtained by using the program, - # regardless of whether they have been advised of, or otherwise had - # knowledge of, the possibility of such damages at any time during the - # project or thereafter. Each user will be deemed to have agreed to the - # foregoing by his or her commencement of use of the program. The term - # "use" as used herein includes, but is not limited to, the use, - # modification, copying and distribution of the program and the - # production of secondary products from the program. - # - # In the case where the program, whether in its original form or - # modified, was distributed or delivered to or received by a user from - # any person, organization or entity other than ICOT, unless it makes or - # grants independently of ICOT any specific warranty to the user in - # writing, such person, organization or entity, will also be exempted - # from and not be held liable to the user for any such damages as noted - # above as far as the program is concerned. - # - # ---------------COPYING.ipadic-----END---------------------------------- - ----------------------------------------------------------------------- - -Lao Word Break Dictionary Data (laodict.txt) - - # Copyright (C) 2016 and later: Unicode, Inc. and others. - # License & terms of use: http://www.unicode.org/copyright.html - # Copyright (c) 2015 International Business Machines Corporation - # and others. All Rights Reserved. - # - # Project: https://github.com/rober42539/lao-dictionary - # Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt - # License: https://github.com/rober42539/lao-dictionary/LICENSE.txt - # (copied below) - # - # This file is derived from the above dictionary version of Nov 22, 2020 - # ---------------------------------------------------------------------- - # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. - # All rights reserved. - # - # Redistribution and use in source and binary forms, with or without - # modification, are permitted provided that the following conditions are met: - # - # Redistributions of source code must retain the above copyright notice, this - # list of conditions and the following disclaimer. Redistributions in binary - # form must reproduce the above copyright notice, this list of conditions and - # the following disclaimer in the documentation and/or other materials - # provided with the distribution. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - # OF THE POSSIBILITY OF SUCH DAMAGE. - # -------------------------------------------------------------------------- - ----------------------------------------------------------------------- - -Burmese Word Break Dictionary Data (burmesedict.txt) - - # Copyright (c) 2014 International Business Machines Corporation - # and others. All Rights Reserved. - # - # This list is part of a project hosted at: - # github.com/kanyawtech/myanmar-karen-word-lists - # - # -------------------------------------------------------------------------- - # Copyright (c) 2013, LeRoy Benjamin Sharon - # All rights reserved. - # - # Redistribution and use in source and binary forms, with or without - # modification, are permitted provided that the following conditions - # are met: Redistributions of source code must retain the above - # copyright notice, this list of conditions and the following - # disclaimer. Redistributions in binary form must reproduce the - # above copyright notice, this list of conditions and the following - # disclaimer in the documentation and/or other materials provided - # with the distribution. - # - # Neither the name Myanmar Karen Word Lists, nor the names of its - # contributors may be used to endorse or promote products derived - # from this software without specific prior written permission. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS - # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - # SUCH DAMAGE. - # -------------------------------------------------------------------------- - ----------------------------------------------------------------------- - -Time Zone Database - - ICU uses the public domain data and code derived from Time Zone -Database for its time zone support. The ownership of the TZ database -is explained in BCP 175: Procedure for Maintaining the Time Zone -Database section 7. - - # 7. Database Ownership - # - # The TZ database itself is not an IETF Contribution or an IETF - # document. Rather it is a pre-existing and regularly updated work - # that is in the public domain, and is intended to remain in the - # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do - # not apply to the TZ Database or contributions that individuals make - # to it. Should any claims be made and substantiated against the TZ - # Database, the organization that is providing the IANA - # Considerations defined in this RFC, under the memorandum of - # understanding with the IETF, currently ICANN, may act in accordance - # with all competent court orders. No ownership claims will be made - # by ICANN or the IETF Trust on the database or the code. Any person - # making a contribution to the database or code waives all rights to - # future claims in that contribution or in the TZ Database. - ----------------------------------------------------------------------- - -Google double-conversion - -Copyright 2006-2011, the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------------------------------------- - -File: aclocal.m4 (only for ICU4C) -Section: pkg.m4 - Macros to locate and utilise pkg-config. - - -Copyright © 2004 Scott James Remnant . -Copyright © 2012-2015 Dan Nicholson - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. - -As a special exception to the GNU General Public License, if you -distribute this file as part of a program that contains a -configuration script generated by Autoconf, you may include it under -the same distribution terms that you use for the rest of that -program. - - -(The condition for the exception is fulfilled because -ICU4C includes a configuration script generated by Autoconf, -namely the `configure` script.) - ----------------------------------------------------------------------- - -File: config.guess (only for ICU4C) - - -This file is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, see . - -As a special exception to the GNU General Public License, if you -distribute this file as part of a program that contains a -configuration script generated by Autoconf, you may include it under -the same distribution terms that you use for the rest of that -program. This Exception is an additional permission under section 7 -of the GNU General Public License, version 3 ("GPLv3"). - - -(The condition for the exception is fulfilled because -ICU4C includes a configuration script generated by Autoconf, -namely the `configure` script.) - ----------------------------------------------------------------------- - -File: install-sh (only for ICU4C) - - -Copyright 1991 by the Massachusetts Institute of Technology - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name of M.I.T. not be used in advertising or -publicity pertaining to distribution of the software without specific, -written prior permission. M.I.T. makes no representations about the -suitability of this software for any purpose. It is provided "as is" -without express or implied warranty. - --------------------- -ipcz --------------------- -// Copyright 2022 The Chromium Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google LLC nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -jsoncpp --------------------- -The JsonCpp library's source code, including accompanying documentation, -tests and demonstration applications, are licensed under the following -conditions... - -The author (Baptiste Lepilleur) explicitly disclaims copyright in all -jurisdictions which recognize such a disclaimer. In such jurisdictions, -this software is released into the Public Domain. - -In jurisdictions which do not recognize Public Domain property (e.g. Germany as of -2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is -released under the terms of the MIT License (see below). - -In jurisdictions which recognize Public Domain property, the user of this -software may choose to accept it either as 1) Public Domain, 2) under the -conditions of the MIT License (see below), or 3) under the terms of dual -Public Domain/MIT License conditions described here, as they choose. - -The MIT License is about as close to Public Domain as a license can get, and is -described in clear, concise terms at: - - http://en.wikipedia.org/wiki/MIT_License - -The full text of the MIT License follows: - -======================================================================== -Copyright (c) 2007-2010 Baptiste Lepilleur - -Permission 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. -======================================================================== -(END LICENSE TEXT) - -The MIT license is compatible with both the GPL and commercial -software, affording one all of the rights of Public Domain with the -minor nuisance of being required to keep the above copyright notice -and license text in the source code. Note also that by accepting the -Public Domain "license" you can re-license your copy using whatever -license you like. - --------------------- -google-jstemplate --------------------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --------------------- -Alliance for Open Media Video Codec --------------------- -Copyright (c) 2016, Alliance for Open Media. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - --------------------- -libjpeg-turbo --------------------- -libjpeg-turbo Licenses -====================== - -libjpeg-turbo is covered by three compatible BSD-style open source licenses: - -- The IJG (Independent JPEG Group) License, which is listed in - [README.ijg](README.ijg) - - This license applies to the libjpeg API library and associated programs - (any code inherited from libjpeg, and any modifications to that code.) - -- The Modified (3-clause) BSD License, which is listed below - - This license covers the TurboJPEG API library and associated programs, as - well as the build system. - -- The [zlib License](https://opensource.org/licenses/Zlib) - - This license is a subset of the other two, and it covers the libjpeg-turbo - SIMD extensions. - - -Complying with the libjpeg-turbo Licenses -========================================= - -This section provides a roll-up of the libjpeg-turbo licensing terms, to the -best of our understanding. - -1. If you are distributing a modified version of the libjpeg-turbo source, - then: - - 1. You cannot alter or remove any existing copyright or license notices - from the source. - - **Origin** - - Clause 1 of the IJG License - - Clause 1 of the Modified BSD License - - Clauses 1 and 3 of the zlib License - - 2. You must add your own copyright notice to the header of each source - file you modified, so others can tell that you modified that file (if - there is not an existing copyright header in that file, then you can - simply add a notice stating that you modified the file.) - - **Origin** - - Clause 1 of the IJG License - - Clause 2 of the zlib License - - 3. You must include the IJG README file, and you must not alter any of the - copyright or license text in that file. - - **Origin** - - Clause 1 of the IJG License - -2. If you are distributing only libjpeg-turbo binaries without the source, or - if you are distributing an application that statically links with - libjpeg-turbo, then: - - 1. Your product documentation must include a message stating: - - This software is based in part on the work of the Independent JPEG - Group. - - **Origin** - - Clause 2 of the IJG license - - 2. If your binary distribution includes or uses the TurboJPEG API, then - your product documentation must include the text of the Modified BSD - License (see below.) - - **Origin** - - Clause 2 of the Modified BSD License - -3. You cannot use the name of the IJG or The libjpeg-turbo Project or the - contributors thereof in advertising, publicity, etc. - - **Origin** - - IJG License - - Clause 3 of the Modified BSD License - -4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be - free of defects, nor do we accept any liability for undesirable - consequences resulting from your use of the software. - - **Origin** - - IJG License - - Modified BSD License - - zlib License - - -The Modified (3-clause) BSD License -=================================== - -Copyright (C)2009-2023 D. R. Commander. All Rights Reserved.
-Copyright (C)2015 Viktor Szathmáry. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - -Why Three Licenses? -=================== - -The zlib License could have been used instead of the Modified (3-clause) BSD -License, and since the IJG License effectively subsumes the distribution -conditions of the zlib License, this would have effectively placed -libjpeg-turbo binary distributions under the IJG License. However, the IJG -License specifically refers to the Independent JPEG Group and does not extend -attribution and endorsement protections to other entities. Thus, it was -desirable to choose a license that granted us the same protections for new code -that were granted to the IJG for code derived from their software. - --------------------- -liboqs --------------------- -The MIT license, the text of which is below, applies to liboqs in general. -liboqs includes some third party libraries or modules that are licensed -differently; the corresponding subfolder contains the license that applies in -that case. - - -Copyright (c) 2016-2021 Open Quantum Safe project - -Permission 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. - --------------------- -libpng --------------------- -COPYRIGHT NOTICE, DISCLAIMER, and LICENSE -========================================= - -PNG Reference Library License version 2 ---------------------------------------- - - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. - -The software is supplied "as is", without warranty of any kind, -express or implied, including, without limitation, the warranties -of merchantability, fitness for a particular purpose, title, and -non-infringement. In no event shall the Copyright owners, or -anyone distributing the software, be liable for any damages or -other liability, whether in contract, tort or otherwise, arising -from, out of, or in connection with the software, or the use or -other dealings in the software, even if advised of the possibility -of such damage. - -Permission is hereby granted to use, copy, modify, and distribute -this software, or portions hereof, for any purpose, without fee, -subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you - must not claim that you wrote the original software. If you - use this software in a product, an acknowledgment in the product - documentation would be appreciated, but is not required. - - 2. Altered source versions must be plainly marked as such, and must - not be misrepresented as being the original software. - - 3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - - -PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) ------------------------------------------------------------------------ - -libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are -Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are -derived from libpng-1.0.6, and are distributed according to the same -disclaimer and license as libpng-1.0.6 with the following individuals -added to the list of Contributing Authors: - - Simon-Pierre Cadieux - Eric S. Raymond - Mans Rullgard - Cosmin Truta - Gilles Vollant - James Yu - Mandar Sahastrabuddhe - Google Inc. - Vadim Barkov - -and with the following additions to the disclaimer: - - There is no warranty against interference with your enjoyment of - the library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is - with the user. - -Some files in the "contrib" directory and some configure-generated -files that are distributed with libpng have other copyright owners, and -are released under other open source licenses. - -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from -libpng-0.96, and are distributed according to the same disclaimer and -license as libpng-0.96, with the following individuals added to the -list of Contributing Authors: - - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik - -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, -and are distributed according to the same disclaimer and license as -libpng-0.88, with the following individuals added to the list of -Contributing Authors: - - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner - -Some files in the "scripts" directory have other copyright owners, -but are released under this license. - -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. - -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: - - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner - -The PNG Reference Library is supplied "AS IS". The Contributing -Authors and Group 42, Inc. disclaim all warranties, expressed or -implied, including, without limitation, the warranties of -merchantability and of fitness for any purpose. The Contributing -Authors and Group 42, Inc. assume no liability for direct, indirect, -incidental, special, exemplary, or consequential damages, which may -result from the use of the PNG Reference Library, even if advised of -the possibility of such damage. - -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: - - 1. The origin of this source code must not be misrepresented. - - 2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. - - 3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - -The Contributing Authors and Group 42, Inc. specifically permit, -without fee, and encourage the use of this source code as a component -to supporting the PNG file format in commercial products. If you use -this source code in a product, acknowledgment is not required but would -be appreciated. - --------------------- -libsrtp --------------------- -/* - * - * Copyright (c) 2001-2017 Cisco Systems, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * - * Neither the name of the Cisco Systems, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - --------------------- -URL Pattern Library --------------------- -The MIT License (MIT) - -Copyright 2020 The Chromium Authors -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Permission 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. - --------------------- -libvpx --------------------- -Copyright (c) 2010, The WebM Project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google, nor the WebM Project, nor the names - of its contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------- -WebP image encoder/decoder --------------------- -Copyright (c) 2010, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Additional IP Rights Grant (Patents) ------------------------------------- - -"These implementations" means the copyrightable works that implement the WebM -codecs distributed by Google as part of the WebM Project. - -Google hereby grants to you a perpetual, worldwide, non-exclusive, no-charge, -royalty-free, irrevocable (except as stated in this section) patent license to -make, have made, use, offer to sell, sell, import, transfer, and otherwise -run, modify and propagate the contents of these implementations of WebM, where -such license applies only to those patent claims, both currently owned by -Google and acquired in the future, licensable by Google that are necessarily -infringed by these implementations of WebM. This grant does not include claims -that would be infringed only as a consequence of further modification of these -implementations. If you or your agent or exclusive licensee institute or order -or agree to the institution of patent litigation or any other patent -enforcement activity against any entity (including a cross-claim or -counterclaim in a lawsuit) alleging that any of these implementations of WebM -or any code incorporated within any of these implementations of WebM -constitute direct or contributory patent infringement, or inducement of -patent infringement, then any patent rights granted to you under this License -for these implementations of WebM shall terminate as of the date such -litigation is filed. - --------------------- -libxml --------------------- -Except where otherwise noted in the source code (e.g. the files dict.c and -list.c, which are covered by a similar licence but with different Copyright -notices) all the files are: - - Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. - -Permission 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 fur- -nished 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, FIT- -NESS 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. - --------------------- -libyuv --------------------- -Copyright 2011 The LibYuv Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -Lit --------------------- -BSD 3-Clause License - -Copyright (c) 2017 Google LLC. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------- -Lottie Web --------------------- -The MIT License (MIT) - -Copyright (c) 2015 Bodymovin - -Permission 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. - - -################################################################################ -# License headers for subpackages -################################################################################ - -Transformation Matrix v2.0 -(c) Epistemex 2014-2015 -www.epistemex.com -By Ken Fyrstenberg -Contributions by leeoniya. -License: MIT, header required. - - -################################################################################ - -Copyright 2014 David Bau. - -Permission 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. - -################################################################################ - -BezierEasing - use bezier curve for transition easing function -by Gaëtan Renaudeau 2014 - 2015 – MIT License - -Credits: is based on Firefox's nsSMILKeySpline.cpp -Usage: -var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ]) -spline.get(x) => returns the easing value | x must be in [0, 1] range - --------------------- -Metrics Protos --------------------- -// Copyright 2015 The Chromium Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -modp base64 decoder --------------------- - * MODP_B64 - High performance base64 encoder/decoder - * Version 1.3 -- 17-Mar-2006 - * http://modp.com/release/base64 - * - * Copyright (c) 2005, 2006 Nick Galbreath -- nickg [at] modp [dot] com - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the modp.com nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -OneDS SDK --------------------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --------------------- -OpenH264 --------------------- -Copyright (c) 2013, Cisco Systems -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------- -opus --------------------- -Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic, - Jean-Marc Valin, Timothy B. Terriberry, - CSIRO, Gregory Maxwell, Mark Borgerding, - Erik de Castro Lopo - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -- Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -- Neither the name of Internet Society, IETF or IETF Trust, nor the -names of specific contributors, may be used to endorse or promote -products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Opus is subject to the royalty-free patent licenses which are -specified at: - -Xiph.Org Foundation: -https://datatracker.ietf.org/ipr/1524/ - -Microsoft Corporation: -https://datatracker.ietf.org/ipr/1914/ - -Broadcom Corporation: -https://datatracker.ietf.org/ipr/1526/ - --------------------- -Perfetto --------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright (c) 2017, The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - --------------------- -PFFFT: a pretty fast FFT. --------------------- -Copyright (c) 2013 Julien Pommier ( pommier@modartt.com ) - -Based on original fortran 77 code from FFTPACKv4 from NETLIB, -authored by Dr Paul Swarztrauber of NCAR, in 1985. - -As confirmed by the NCAR fftpack software curators, the following -FFTPACKv5 license applies to FFTPACKv4 sources. My changes are -released under the same terms. - -FFTPACK license: - -http://www.cisl.ucar.edu/css/software/fftpack5/ftpk.html - -Copyright (c) 2004 the University Corporation for Atmospheric -Research ("UCAR"). All rights reserved. Developed by NCAR's -Computational and Information Systems Laboratory, UCAR, -www.cisl.ucar.edu. - -Redistribution and use of the Software in source and binary forms, -with or without modification, is permitted provided that the -following conditions are met: - -- Neither the names of NCAR's Computational and Information Systems -Laboratory, the University Corporation for Atmospheric Research, -nor the names of its sponsors or contributors may be used to -endorse or promote products derived from this Software without -specific prior written permission. - -- Redistributions of source code must retain the above copyright -notices, this list of conditions, and the disclaimer below. - -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions, and the disclaimer below in the -documentation and/or other materials provided with the -distribution. - -THIS 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 CONTRIBUTORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL 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 WITH THE -SOFTWARE. - --------------------- -Polymer --------------------- -// Copyright (c) 2012 The Polymer Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -Protocol Buffers --------------------- -Copyright 2008 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. - --------------------- -Protocol Buffers (javascript) --------------------- -BSD 3-Clause License - -Copyright (c) 2022, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -re2 - an efficient, principled regular expression library --------------------- -// Copyright (c) 2009 The RE2 Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -Recurrent neural network for audio noise reduction --------------------- -Copyright (c) 2017, Mozilla -Copyright (c) 2007-2017, Jean-Marc Valin -Copyright (c) 2005-2017, Xiph.Org Foundation -Copyright (c) 2003-2004, Mark Borgerding - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -- Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -- Neither the name of the Xiph.Org Foundation nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -cxx --------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - --------------------- -cxxbridge-macro --------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - --------------------- -font-types --------------------- -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2019 Colin Rothfels - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - --------------------- -proc-macro2 --------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - --------------------- -quote --------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - --------------------- -read-fonts --------------------- -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2019 Colin Rothfels - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - --------------------- -skrifa --------------------- -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2019 Colin Rothfels - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - --------------------- -syn --------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - --------------------- -unicode-ident --------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE - -See Terms of Use -for definitions of Unicode Inc.’s Data Files and Software. - -NOTICE TO USER: Carefully read the following legal agreement. -BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S -DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), -YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. -IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE -THE DATA FILES OR SOFTWARE. - -COPYRIGHT AND PERMISSION NOTICE - -Copyright © 1991-2022 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. - --------------------- -Selenium Atoms --------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2022 Software Freedom Conservancy (SFC) - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --------------------- -Sizzle --------------------- -MIT License ----- - -Copyright (c) 2009 John Resig - -Permission 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. - --------------------- -Wicked Good XPath --------------------- -The MIT License - -Copyright (c) 2007 Cybozu Labs, Inc. -Copyright (c) 2012 Google Inc. - -Permission 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. - --------------------- -sqlite --------------------- -The author disclaims copyright to this source code. In place of -a legal notice, here is a blessing: - - May you do good and not evil. - May you find forgiveness for yourself and forgive others. - May you share freely, never taking more than you give. - --------------------- -Vulkan Deps --------------------- -// Copyright 2015 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -WebRTC --------------------- -Copyright (c) 2011, The WebRTC project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------- -General Purpose FFT (Fast Fourier/Cosine/Sine Transform) Package --------------------- -/* - * http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html - * Copyright Takuya OOURA, 1996-2001 - * - * You may use, copy, modify and distribute this code for any purpose (include - * commercial use) and without fee. Please refer to this package when you modify - * this code. - */ - --------------------- -sql sqrt floor --------------------- -/* - * Written by Wilco Dijkstra, 1996. The following email exchange establishes the - * license. - * - * From: Wilco Dijkstra - * Date: Fri, Jun 24, 2011 at 3:20 AM - * Subject: Re: sqrt routine - * To: Kevin Ma - * Hi Kevin, - * Thanks for asking. Those routines are public domain (originally posted to - * comp.sys.arm a long time ago), so you can use them freely for any purpose. - * Cheers, - * Wilco - * - * ----- Original Message ----- - * From: "Kevin Ma" - * To: - * Sent: Thursday, June 23, 2011 11:44 PM - * Subject: Fwd: sqrt routine - * Hi Wilco, - * I saw your sqrt routine from several web sites, including - * http://www.finesse.demon.co.uk/steven/sqrt.html. - * Just wonder if there's any copyright information with your Successive - * approximation routines, or if I can freely use it for any purpose. - * Thanks. - * Kevin - */ - --------------------- -C++ Signal/Slot Library --------------------- -// sigslot.h: Signal/Slot classes -// -// Written by Sarah Thompson (sarah@telergy.com) 2002. -// -// License: Public domain. You are free to use this code however you like, with -// the proviso that the author takes on no responsibility or liability for any -// use. - --------------------- -Wuffs (Wrangling Untrusted File Formats Safely) --------------------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --------------------- -zlib --------------------- -version 1.2.12, March 27th, 2022 - -Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - --------------------- -Zstandard --------------------- -BSD License - -For Zstandard software - -Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name Facebook, nor Meta, nor the names of its contributors may - be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/msedgedriver/Driver_Notes/credits.html b/msedgedriver/Driver_Notes/credits.html index 508008d..4c11ce7 100644 --- a/msedgedriver/Driver_Notes/credits.html +++ b/msedgedriver/Driver_Notes/credits.html @@ -280,38 +280,6 @@ without fee. You may distribute this ORIGINAL package. -
-@vscode/web-custom-data -homepage - -
-
    MIT License
-
-    Copyright (c) Microsoft Corporation.
-
-    Permission 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
-
-
-
-
Abseil homepage @@ -13475,7 +13443,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Android NDK -homepage +homepage @@ -47246,6 +47214,219 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+CrabbyAvif - Library for decoding AVIF files. +homepage + +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+
Crashpad homepage @@ -49294,45 +49475,6 @@ Exhibit B - “Incompatible With Secondary Licenses” Notice
-
-dynamic annotations -homepage - -
-
/* Copyright (c) 2008-2009, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * ---
- * Author: Kostya Serebryany
- */
-
-
-
-
EasyList homepage @@ -51189,43 +51331,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-epubjs -homepage - -
-
Copyright (c) 2013, FuturePress
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-The views and conclusions contained in the software and documentation are those
-of the authors and should not be interpreted as representing official policies,
-either expressed or implied, of the FreeBSD Project.
-
-
-
error-prone annotations homepage @@ -64069,9 +64174,9 @@ DEALINGS IN THE SOFTWARE. libavutil/x86/x86inc.asm -x86inc.asm: x264asm abstraction layer +x86inc.asm: x86 abstraction layer - Copyright (C) 2005-2018 x264 project + Copyright (C) 2005-2024 x264 project Authors: Loren Merritt <lorenm@u.washington.edu> Henrik Gramner <henrik@gramner.com> @@ -80168,6 +80273,37 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Headers for DirectX APIs. +homepage + +
+
Copyright (c) Microsoft Corporation.
+
+MIT License
+
+Permission 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.
+
+
+
Headers for the Windows 10 WebAuthn API (webauthn.dll) homepage @@ -85794,7 +85930,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Implementation of WebDriver BiDi standard -homepage +homepage @@ -87811,7 +87947,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ISimpleDOM COM interfaces for accessibility -homepage +homepage @@ -88657,6 +88793,44 @@ limitations under the License.
+
+Kiwi Browser +homepage + +
+
Copyright (c) 2022, Geometry OU (Kiwi Browser)
+All rights reserved.
+ 
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+ 
+1. Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+ 
+2. Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+ 
+3. Neither the name of the copyright holder nor the names of its
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
+ 
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+
Kotlin Android Extensions Runtime homepage @@ -94716,219 +94890,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Lighthouse -homepage - -
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2014 Google Inc.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-
-
Lighthouse homepage @@ -96634,45 +96595,6 @@ The externally maintained libraries used by Node.js are:
-
-Lit-HTML -homepage - -
-
BSD 3-Clause License
-
-Copyright (c) 2017 Google LLC. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
-
LLVM headers homepage @@ -97071,51 +96993,6 @@ terms above.
-
-lodash.isequal -homepage - -
-
The MIT License
-
-Copyright JS Foundation and other contributors <https://js.foundation/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission 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.
-
-
-
-
Lottie Web homepage @@ -97422,218 +97299,6 @@ for any purpose, commercial or non-commercial, and by any means.
-
-MalDocA source for extracting and analyzing features from Office documents. -homepage - -
-
                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-
-
Marked homepage @@ -142950,7 +142615,199 @@ This is the Android Software Development Kit License Agreement December 9, 2016 -AndroidX lifecycle common library, AndroidX lifecycle livedatacore library, AndroidX lifecycle runtime library: +AndroidX annotation experimental library: + + + Copyright (c) 2005-2011, The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + +AndroidX tracing library: Copyright (c) 2005-2011, The Android Open Source Project @@ -143143,200 +143000,6 @@ AndroidX lifecycle common library, AndroidX lifecycle livedatacore library, Andr END OF TERMS AND CONDITIONS -apksig: - - - Copyright (c) 2005-2008, The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - - Animal Sniffer: The MIT License @@ -143606,7 +143269,213 @@ Error Prone: limitations under the License. -Google Auto, Guava JDK5, J2ObjC, JSR 250, SafeParcelable library: +Google Auto: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +Guava JDK5: Apache License @@ -144019,6 +143888,480 @@ Guava JDK7: +J2ObjC: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +The next section, BSD-3-Clause, applies to the files in: +jre_emul/android/platform/libcore/ojluni/src/main/java/java/time +-------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of JSR-310 nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +JSR 250: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +JSR 305: + +Copyright (c) 2007-2009, JSR305 expert group +All rights reserved. + +http://www.opensource.org/licenses/bsd-license.php + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the JSR305 expert group nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + JSR 330: JSR-330 @@ -144225,6 +144568,212 @@ JSR-330 limitations under the License. +JSpecify: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + JsInterop Annotations: Apache License @@ -144429,833 +144978,9 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -JSR 305: - -Copyright (c) 2007-2009, JSR305 expert group -All rights reserved. - -http://www.opensource.org/licenses/bsd-license.php - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the JSR305 expert group nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -
- - -
-play-services-phenotype -homepage - -
-
Terms and conditions
-
-This is the Android Software Development Kit License Agreement
-
-1. Introduction
-
-1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
-
-1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
-
-1.3 A "compatible implementation" means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS).
-
-1.4 "Google" means Google LLC, a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-
-2. Accepting this License Agreement
-
-2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of the License Agreement.
-
-2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK.
-
-2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
-
-
-3. SDK License from Google
-
-3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android.
-
-3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose.
-
-3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
-
-3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement.  Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK.
-
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement.
-
-3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
-
-3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
-
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
-
-
-4. Use of the SDK by You
-
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
-
-4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
-
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
-
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
-
-
-5. Your Developer Credentials
-
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
-
-
-6. Privacy and Information
-
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
-
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
-
-
-7. Third Party Applications
-
-7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
-
-7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
-
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, the License Agreement does not affect your legal relationship with these third parties.
-
-
-8. Using Android APIs
-
-8.1 Google Data APIs
-
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
-
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
-
-
-9. Terminating this License Agreement
-
-9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
-
-9.3 Google may at any time, terminate the License Agreement with you if:
-(A) you have breached any provision of the License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When the License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst the License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
-
-
-10. DISCLAIMER OF WARRANTIES
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
-
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-
-
-11. LIMITATION OF LIABILITY
-
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-
-12. Indemnification
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with the License Agreement.
-
-
-13. Changes to the License Agreement
-
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
-
-
-14. General Legal Terms
-
-14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
-
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in the License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under the License Agreement without the prior written approval of the other party.
-
-14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
-
-
-December 9, 2016
-
-
-ICU4C:
-
-COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)
-
-Copyright © 1991-2017 Unicode, Inc. All rights reserved.
-Distributed under the Terms of Use in http://www.unicode.org/copyright.html
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Unicode data files and any associated documentation
-(the "Data Files") or Unicode software and any associated documentation
-(the "Software") to deal in the Data Files or Software
-without restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, and/or sell copies of
-the Data Files or Software, and to permit persons to whom the Data Files
-or Software are furnished to do so, provided that either
-(a) this copyright and permission notice appear with all copies
-of the Data Files or Software, or
-(b) this copyright and permission notice appear in associated
-Documentation.
-
-THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS.
-IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
-NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
-DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THE DATA FILES OR SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder
-shall not be used in advertising or otherwise to promote the sale,
-use or other dealings in these Data Files or Software without prior
-written authorization of the copyright holder.
-
----------------------
-
-Third-Party Software Licenses
-
-This section contains third-party software notices and/or additional
-terms for licensed third-party software components included within ICU
-libraries.
-
-1. ICU License - ICU 1.8.1 to ICU 57.1
-
-COPYRIGHT AND PERMISSION NOTICE
-
-Copyright (c) 1995-2016 International Business Machines Corporation and others
-All rights reserved.
-
-Permission 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, and/or sell copies of the Software, and to permit persons
-to whom the Software is furnished to do so, provided that the above
-copyright notice(s) and this permission notice appear in all copies of
-the Software and that both the above copyright notice(s) and this
-permission notice appear in supporting documentation.
-
-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
-OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
-SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
-RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder
-shall not be used in advertising or otherwise to promote the sale, use
-or other dealings in this Software without prior written authorization
-of the copyright holder.
-
-All trademarks and registered trademarks mentioned herein are the
-property of their respective owners.
-
-2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
-
- #     The Google Chrome software developed by Google is licensed under
- # the BSD license. Other software included in this distribution is
- # provided under other licenses, as set forth below.
- #
- #  The BSD License
- #  http://opensource.org/licenses/bsd-license.php
- #  Copyright (C) 2006-2008, Google Inc.
- #
- #  All rights reserved.
- #
- #  Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions are met:
- #
- #  Redistributions of source code must retain the above copyright notice,
- # this list of conditions and the following disclaimer.
- #  Redistributions in binary form must reproduce the above
- # copyright notice, this list of conditions and the following
- # disclaimer in the documentation and/or other materials provided with
- # the distribution.
- #  Neither the name of  Google Inc. nor the names of its
- # contributors may be used to endorse or promote products derived from
- # this software without specific prior written permission.
- #
- #
- #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #
- #
- #  The word list in cjdict.txt are generated by combining three word lists
- # listed below with further processing for compound word breaking. The
- # frequency is generated with an iterative training against Google web
- # corpora.
- #
- #  * Libtabe (Chinese)
- #    - https://sourceforge.net/project/?group_id=1519
- #    - Its license terms and conditions are shown below.
- #
- #  * IPADIC (Japanese)
- #    - http://chasen.aist-nara.ac.jp/chasen/distribution.html
- #    - Its license terms and conditions are shown below.
- #
- #  ---------COPYING.libtabe ---- BEGIN--------------------
- #
- #  /*
- #   * Copyright (c) 1999 TaBE Project.
- #   * Copyright (c) 1999 Pai-Hsiang Hsiao.
- #   * All rights reserved.
- #   *
- #   * Redistribution and use in source and binary forms, with or without
- #   * modification, are permitted provided that the following conditions
- #   * are met:
- #   *
- #   * . Redistributions of source code must retain the above copyright
- #   *   notice, this list of conditions and the following disclaimer.
- #   * . Redistributions in binary form must reproduce the above copyright
- #   *   notice, this list of conditions and the following disclaimer in
- #   *   the documentation and/or other materials provided with the
- #   *   distribution.
- #   * . Neither the name of the TaBE Project nor the names of its
- #   *   contributors may be used to endorse or promote products derived
- #   *   from this software without specific prior written permission.
- #   *
- #   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- #   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- #   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- #   * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- #   * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- #   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- #   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- #   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- #   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- #   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- #   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- #   * OF THE POSSIBILITY OF SUCH DAMAGE.
- #   */
- #
- #  /*
- #   * Copyright (c) 1999 Computer Systems and Communication Lab,
- #   *                    Institute of Information Science, Academia
- #       *                    Sinica. All rights reserved.
- #   *
- #   * Redistribution and use in source and binary forms, with or without
- #   * modification, are permitted provided that the following conditions
- #   * are met:
- #   *
- #   * . Redistributions of source code must retain the above copyright
- #   *   notice, this list of conditions and the following disclaimer.
- #   * . Redistributions in binary form must reproduce the above copyright
- #   *   notice, this list of conditions and the following disclaimer in
- #   *   the documentation and/or other materials provided with the
- #   *   distribution.
- #   * . Neither the name of the Computer Systems and Communication Lab
- #   *   nor the names of its contributors may be used to endorse or
- #   *   promote products derived from this software without specific
- #   *   prior written permission.
- #   *
- #   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- #   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- #   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- #   * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- #   * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- #   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- #   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- #   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- #   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- #   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- #   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- #   * OF THE POSSIBILITY OF SUCH DAMAGE.
- #   */
- #
- #  Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
- #      University of Illinois
- #  c-tsai4@uiuc.edu  http://casper.beckman.uiuc.edu/~c-tsai4
- #
- #  ---------------COPYING.libtabe-----END--------------------------------
- #
- #
- #  ---------------COPYING.ipadic-----BEGIN-------------------------------
- #
- #  Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
- #  and Technology.  All Rights Reserved.
- #
- #  Use, reproduction, and distribution of this software is permitted.
- #  Any copy of this software, whether in its original form or modified,
- #  must include both the above copyright notice and the following
- #  paragraphs.
- #
- #  Nara Institute of Science and Technology (NAIST),
- #  the copyright holders, disclaims all warranties with regard to this
- #  software, including all implied warranties of merchantability and
- #  fitness, in no event shall NAIST be liable for
- #  any special, indirect or consequential damages or any damages
- #  whatsoever resulting from loss of use, data or profits, whether in an
- #  action of contract, negligence or other tortuous action, arising out
- #  of or in connection with the use or performance of this software.
- #
- #  A large portion of the dictionary entries
- #  originate from ICOT Free Software.  The following conditions for ICOT
- #  Free Software applies to the current dictionary as well.
- #
- #  Each User may also freely distribute the Program, whether in its
- #  original form or modified, to any third party or parties, PROVIDED
- #  that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
- #  on, or be attached to, the Program, which is distributed substantially
- #  in the same form as set out herein and that such intended
- #  distribution, if actually made, will neither violate or otherwise
- #  contravene any of the laws and regulations of the countries having
- #  jurisdiction over the User or the intended distribution itself.
- #
- #  NO WARRANTY
- #
- #  The program was produced on an experimental basis in the course of the
- #  research and development conducted during the project and is provided
- #  to users as so produced on an experimental basis.  Accordingly, the
- #  program is provided without any warranty whatsoever, whether express,
- #  implied, statutory or otherwise.  The term "warranty" used herein
- #  includes, but is not limited to, any warranty of the quality,
- #  performance, merchantability and fitness for a particular purpose of
- #  the program and the nonexistence of any infringement or violation of
- #  any right of any third party.
- #
- #  Each user of the program will agree and understand, and be deemed to
- #  have agreed and understood, that there is no warranty whatsoever for
- #  the program and, accordingly, the entire risk arising from or
- #  otherwise connected with the program is assumed by the user.
- #
- #  Therefore, neither ICOT, the copyright holder, or any other
- #  organization that participated in or was otherwise related to the
- #  development of the program and their respective officials, directors,
- #  officers and other employees shall be held liable for any and all
- #  damages, including, without limitation, general, special, incidental
- #  and consequential damages, arising out of or otherwise in connection
- #  with the use or inability to use the program or any product, material
- #  or result produced or otherwise obtained by using the program,
- #  regardless of whether they have been advised of, or otherwise had
- #  knowledge of, the possibility of such damages at any time during the
- #  project or thereafter.  Each user will be deemed to have agreed to the
- #  foregoing by his or her commencement of use of the program.  The term
- #  "use" as used herein includes, but is not limited to, the use,
- #  modification, copying and distribution of the program and the
- #  production of secondary products from the program.
- #
- #  In the case where the program, whether in its original form or
- #  modified, was distributed or delivered to or received by a user from
- #  any person, organization or entity other than ICOT, unless it makes or
- #  grants independently of ICOT any specific warranty to the user in
- #  writing, such person, organization or entity, will also be exempted
- #  from and not be held liable to the user for any such damages as noted
- #  above as far as the program is concerned.
- #
- #  ---------------COPYING.ipadic-----END----------------------------------
-
-3. Lao Word Break Dictionary Data (laodict.txt)
-
- #  Copyright (c) 2013 International Business Machines Corporation
- #  and others. All Rights Reserved.
- #
- # Project: http://code.google.com/p/lao-dictionary/
- # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt
- # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt
- #              (copied below)
- #
- #  This file is derived from the above dictionary, with slight
- #  modifications.
- #  ----------------------------------------------------------------------
- #  Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
- #  All rights reserved.
- #
- #  Redistribution and use in source and binary forms, with or without
- #  modification,
- #  are permitted provided that the following conditions are met:
- #
- #
- # Redistributions of source code must retain the above copyright notice, this
- #  list of conditions and the following disclaimer. Redistributions in
- #  binary form must reproduce the above copyright notice, this list of
- #  conditions and the following disclaimer in the documentation and/or
- #  other materials provided with the distribution.
- #
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- # OF THE POSSIBILITY OF SUCH DAMAGE.
- #  --------------------------------------------------------------------------
-
-4. Burmese Word Break Dictionary Data (burmesedict.txt)
-
- #  Copyright (c) 2014 International Business Machines Corporation
- #  and others. All Rights Reserved.
- #
- #  This list is part of a project hosted at:
- #    github.com/kanyawtech/myanmar-karen-word-lists
- #
- #  --------------------------------------------------------------------------
- #  Copyright (c) 2013, LeRoy Benjamin Sharon
- #  All rights reserved.
- #
- #  Redistribution and use in source and binary forms, with or without
- #  modification, are permitted provided that the following conditions
- #  are met: Redistributions of source code must retain the above
- #  copyright notice, this list of conditions and the following
- #  disclaimer.  Redistributions in binary form must reproduce the
- #  above copyright notice, this list of conditions and the following
- #  disclaimer in the documentation and/or other materials provided
- #  with the distribution.
- #
- #    Neither the name Myanmar Karen Word Lists, nor the names of its
- #    contributors may be used to endorse or promote products derived
- #    from this software without specific prior written permission.
- #
- #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- #  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- #  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- #  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
- #  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- #  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- #  TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- #  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- #  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
- #  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- #  SUCH DAMAGE.
- #  --------------------------------------------------------------------------
-
-5. Time Zone Database
-
-  ICU uses the public domain data and code derived from Time Zone
-Database for its time zone support. The ownership of the TZ database
-is explained in BCP 175: Procedure for Maintaining the Time Zone
-Database section 7.
-
- # 7.  Database Ownership
- #
- #    The TZ database itself is not an IETF Contribution or an IETF
- #    document.  Rather it is a pre-existing and regularly updated work
- #    that is in the public domain, and is intended to remain in the
- #    public domain.  Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
- #    not apply to the TZ Database or contributions that individuals make
- #    to it.  Should any claims be made and substantiated against the TZ
- #    Database, the organization that is providing the IANA
- #    Considerations defined in this RFC, under the memorandum of
- #    understanding with the IETF, currently ICANN, may act in accordance
- #    with all competent court orders.  No ownership claims will be made
- #    by ICANN or the IETF Trust on the database or the code.  Any person
- #    making a contribution to the database or code waives all rights to
- #    future claims in that contribution or in the TZ Database.
-
-
-JSR 305:
-
-Copyright (c) 2007-2009, JSR305 expert group
-All rights reserved.
-
-http://www.opensource.org/licenses/bsd-license.php
-
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, 
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, 
-      this list of conditions and the following disclaimer in the documentation 
-      and/or other materials provided with the distribution.
-    * Neither the name of the JSR305 expert group nor the names of its 
-      contributors may be used to endorse or promote products derived from 
-      this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
-POSSIBILITY OF SUCH DAMAGE.
-
-
-PCRE:
-
-PCRE LICENCE
-------------
-
-PCRE is a library of functions to support regular expressions whose syntax
-and semantics are as close as possible to those of the Perl 5 language.
-
-Release 8 of PCRE is distributed under the terms of the "BSD" licence, as
-specified below. The documentation for PCRE, supplied in the "doc"
-directory, is distributed under the same terms as the software itself. The data
-in the testdata directory is not copyrighted and is in the public domain.
-
-The basic library functions are written in C and are freestanding. Also
-included in the distribution is a set of C++ wrapper functions, and a
-just-in-time compiler that can be used to optimize pattern matching. These
-are both optional features that can be omitted when the library is built.
-
-
-THE BASIC LIBRARY FUNCTIONS
----------------------------
-
-Written by:       Philip Hazel
-Email local part: ph10
-Email domain:     cam.ac.uk
-
-University of Cambridge Computing Service,
-Cambridge, England.
-
-Copyright (c) 1997-2017 University of Cambridge
-All rights reserved.
-
-
-PCRE JUST-IN-TIME COMPILATION SUPPORT
--------------------------------------
-
-Written by:       Zoltan Herczeg
-Email local part: hzmester
-Emain domain:     freemail.hu
-
-Copyright(c) 2010-2017 Zoltan Herczeg
-All rights reserved.
-
-
-STACK-LESS JUST-IN-TIME COMPILER
---------------------------------
-
-Written by:       Zoltan Herczeg
-Email local part: hzmester
-Emain domain:     freemail.hu
-
-Copyright(c) 2009-2017 Zoltan Herczeg
-All rights reserved.
-
-
-THE C++ WRAPPER FUNCTIONS
--------------------------
-
-Contributed by:   Google Inc.
-
-Copyright (c) 2007-2012, Google Inc.
-All rights reserved.
-
-
-THE "BSD" LICENCE
------------------
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-
-    * Neither the name of the University of Cambridge nor the name of Google
-      Inc. nor the names of their contributors may be used to endorse or
-      promote products derived from this software without specific prior
-      written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-End
-
-
-Protobuf Nano:
-
-Copyright 2008, Google Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-    * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Code generated by the Protocol Buffer compiler is owned by the owner
-of the input file used when generating it.  This code is not
-standalone and requires a support library to be linked with it.  This
-support library is itself covered by the above license.
-
-
-RE2:
-
-// Copyright (c) 2009 The RE2 Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-darts_clone:
-
-Copyright (c) 2008-2011, Susumu Yata
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
-- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
-- Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-STL:
-
-SGI STL
-
-The STL portion of GNU libstdc++ that is used with gcc3 and gcc4 is licensed
-under the GPL, with the following exception:
-
-# As a special exception, you may use this file as part of a free software
-# library without restriction.  Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License.  This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-
-
-UTF:
-
-UTF-8 Library
-
-The authors of this software are Rob Pike and Ken Thompson.
-             Copyright (c) 1998-2002 by Lucent Technologies.
-Permission to use, copy, modify, and distribute this software for any
-purpose without fee is hereby granted, provided that this entire notice
-is included in all copies of any software which is or includes a copy
-or modification of this software and in all copies of the supporting
-documentation for such software.
-THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
-WARRANTY.  IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY
-REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
-OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
-
-
-flatbuffers:
+Kotlin:
 
+Files: kotlinc/*
 
                                  Apache License
                            Version 2.0, January 2004
@@ -145445,7 +145170,7 @@ flatbuffers:
       same "printed page" as the copyright notice for easier
       identification within third-party archives.
 
-   Copyright 2014 Google Inc.
+   Copyright 2000-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
@@ -145459,8 +145184,1846 @@ flatbuffers:
    See the License for the specific language governing permissions and
    limitations under the License.
 
+------------------
 
-safeparcel:
+Files: kotlinc/lib/trove4j.jar
+
+
+          GNU LESSER GENERAL PUBLIC LICENSE
+               Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+          GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+             END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
+------------------
+
+Files:
+
+The version of Rhino used in GWT is licensed under a dual license,
+Netscape Public License 1.1 / GNU General Public License.
+The text of the Netscape Public License
+is provided below (http://website-archive.mozilla.org/www.mozilla.org/mpl/MPL/NPL/1.1/):
+
+AMENDMENTS
+
+The Netscape Public License Version 1.1 ("NPL") consists of the
+Mozilla Public License Version 1.1 with the following Amendments,
+including Exhibit A-Netscape Public License.  Files identified with
+"Exhibit A-Netscape Public License" are governed by the Netscape
+Public License Version 1.1.
+
+Additional Terms applicable to the Netscape Public License.
+
+    I. Effect.
+
+       These additional terms described in this Netscape Public
+       License -- Amendments shall apply to the Mozilla Communicator
+       client code and to all Covered Code under this License.
+
+   II. ''Netscape's Branded Code'' means Covered Code that Netscape
+       distributes and/or permits others to distribute under one or
+       more trademark(s) which are controlled by Netscape but which
+       are not licensed for use under this License.
+
+  III. Netscape and logo.
+
+       This License does not grant any rights to use the trademarks
+       "Netscape'', the "Netscape N and horizon'' logo or the
+       "Netscape lighthouse" logo, "Netcenter", "Gecko", "Java" or
+       "JavaScript", "Smart Browsing" even if such marks are included
+       in the Original Code or Modifications.
+
+   IV. Inability to Comply Due to Contractual Obligation.
+
+       Prior to licensing the Original Code under this License,
+       Netscape has licensed third party code for use in Netscape's
+       Branded Code. To the extent that Netscape is limited
+       contractually from making such third party code available under
+       this License, Netscape may choose to reintegrate such code into
+       Covered Code without being required to distribute such code in
+       Source Code form, even if such code would otherwise be
+       considered ''Modifications'' under this License.
+
+    V. Use of Modifications and Covered Code by Initial Developer.
+
+        V.1. In General.
+
+             The obligations of Section 3 apply to Netscape, except to
+             the extent specified in this Amendment, Section V.2 and
+             V.3.
+
+        V.2. Other Products.
+
+             Netscape may include Covered Code in products other than
+             the Netscape's Branded Code which are released by
+             Netscape during the two (2) years following the release
+             date of the Original Code, without such additional
+             products becoming subject to the terms of this License,
+             and may license such additional products on different
+             terms from those contained in this License.
+
+        V.3. Alternative Licensing.
+
+             Netscape may license the Source Code of Netscape's
+             Branded Code, including Modifications incorporated
+             therein, without such Netscape Branded Code becoming
+             subject to the terms of this License, and may license
+             such Netscape Branded Code on different terms from those
+             contained in this License.
+
+    VI. Litigation.
+
+        Notwithstanding the limitations of Section 11 above, the
+        provisions regarding litigation in Section 11(a), (b) and (c)
+        of the License shall apply to all disputes relating to this
+        License.
+
+
+EXHIBIT A-Netscape Public License.
+
+
+    ''The contents of this file are subject to the Netscape Public
+    License Version 1.1 (the "License"); you may not use this file
+    except in compliance with the License. You may obtain a copy of
+    the License at http://www.mozilla.org/NPL/
+
+    Software distributed under the License is distributed on an "AS
+    IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+    implied. See the License for the specific language governing
+    rights and limitations under the License.
+
+    The Original Code is Mozilla Communicator client code, released
+    March 31, 1998.
+
+    The Initial Developer of the Original Code is Netscape
+    Communications Corporation. Portions created by Netscape are
+    Copyright (C) 1998-1999 Netscape Communications Corporation. All
+    Rights Reserved.
+
+    Contributor(s): ______________________________________.
+
+
+    Alternatively, the contents of this file may be used under the
+    terms of the _____ license (the �[___] License�), in which case
+    the provisions of [______] License are applicable instead of those
+    above.  If you wish to allow use of your version of this file only
+    under the terms of the [____] License and not to allow others to
+    use your version of this file under the NPL, indicate your
+    decision by deleting the provisions above and replace them with
+    the notice and other provisions required by the [___] License.  If
+    you do not delete the provisions above, a recipient may use your
+    version of this file under either the NPL or the [___] License."
+
+
+----------------------
+
+MOZILLA PUBLIC LICENSE
+Version 1.1
+
+1. Definitions.
+
+    1.0.1. "Commercial Use" means distribution or otherwise making the
+    Covered Code available to a third party.
+
+    1.1. ''Contributor'' means each entity that creates or contributes
+    to the creation of Modifications.
+
+    1.2. ''Contributor Version'' means the combination of the Original
+    Code, prior Modifications used by a Contributor, and the
+    Modifications made by that particular Contributor.
+
+    1.3. ''Covered Code'' means the Original Code or Modifications or
+    the combination of the Original Code and Modifications, in each
+    case including portions thereof.
+
+    1.4. ''Electronic Distribution Mechanism'' means a mechanism
+    generally accepted in the software development community for the
+    electronic transfer of data.
+
+    1.5. ''Executable'' means Covered Code in any form other than Source Code.
+
+    1.6. ''Initial Developer'' means the individual or entity
+    identified as the Initial Developer in the Source Code notice
+    required by Exhibit A.
+
+    1.7. ''Larger Work'' means a work which combines Covered Code or
+    portions thereof with code not governed by the terms of this
+    License.
+
+    1.8. ''License'' means this document.
+
+    1.8.1. "Licensable" means having the right to grant, to the
+    maximum extent possible, whether at the time of the initial grant
+    or subsequently acquired, any and all of the rights conveyed
+    herein.
+
+    1.9. ''Modifications'' means any addition to or deletion from the
+    substance or structure of either the Original Code or any previous
+    Modifications. When Covered Code is released as a series of files,
+    a Modification is:
+
+        A. Any addition to or deletion from the contents of a file
+        containing Original Code or previous Modifications.
+
+        B. Any new file that contains any part of the Original Code or
+        previous Modifications.
+
+    1.10. ''Original Code'' means Source Code of computer software
+    code which is described in the Source Code notice required by
+    Exhibit A as Original Code, and which, at the time of its release
+    under this License is not already Covered Code governed by this
+    License.
+
+    1.10.1. "Patent Claims" means any patent claim(s), now owned or
+    hereafter acquired, including without limitation, method, process,
+    and apparatus claims, in any patent Licensable by grantor.
+
+    1.11. ''Source Code'' means the preferred form of the Covered Code
+    for making modifications to it, including all modules it contains,
+    plus any associated interface definition files, scripts used to
+    control compilation and installation of an Executable, or source
+    code differential comparisons against either the Original Code or
+    another well known, available Covered Code of the Contributor's
+    choice. The Source Code can be in a compressed or archival form,
+    provided the appropriate decompression or de-archiving software is
+    widely available for no charge.
+
+    1.12. "You'' (or "Your") means an individual or a legal entity
+    exercising rights under, and complying with all of the terms of,
+    this License or a future version of this License issued under
+    Section 6.1. For legal entities, "You'' includes any entity which
+    controls, is controlled by, or is under common control with
+    You. For purposes of this definition, "control'' means (a) the
+    power, direct or indirect, to cause the direction or management of
+    such entity, whether by contract or otherwise, or (b) ownership of
+    more than fifty percent (50%) of the outstanding shares or
+    beneficial ownership of such entity.
+
+2. Source Code License.
+
+    2.1. The Initial Developer Grant.
+
+    The Initial Developer hereby grants You a world-wide,
+    royalty-free, non-exclusive license, subject to third party
+    intellectual property claims:
+
+        (a) under intellectual property rights (other than patent or
+        trademark) Licensable by Initial Developer to use, reproduce,
+        modify, display, perform, sublicense and distribute the
+        Original Code (or portions thereof) with or without
+        Modifications, and/or as part of a Larger Work; and
+
+        (b) under Patents Claims infringed by the making, using or
+        selling of Original Code, to make, have made, use, practice,
+        sell, and offer for sale, and/or otherwise dispose of the
+        Original Code (or portions thereof).
+
+        (c) the licenses granted in this Section 2.1(a) and (b) are
+        effective on the date Initial Developer first distributes
+        Original Code under the terms of this License.
+
+        (d) Notwithstanding Section 2.1(b) above, no patent license is
+        granted: 1) for code that You delete from the Original Code;
+        2) separate from the Original Code; or 3) for infringements
+        caused by: i) the modification of the Original Code or ii) the
+        combination of the Original Code with other software or
+        devices.
+
+    2.2. Contributor Grant.
+
+    Subject to third party intellectual property claims, each
+    Contributor hereby grants You a world-wide, royalty-free,
+    non-exclusive license
+
+        (a) under intellectual property rights (other than patent or
+        trademark) Licensable by Contributor, to use, reproduce,
+        modify, display, perform, sublicense and distribute the
+        Modifications created by such Contributor (or portions
+        thereof) either on an unmodified basis, with other
+        Modifications, as Covered Code and/or as part of a Larger
+        Work; and
+
+        (b) under Patent Claims infringed by the making, using, or
+        selling of Modifications made by that Contributor either alone
+        and/or in combination with its Contributor Version (or
+        portions of such combination), to make, use, sell, offer for
+        sale, have made, and/or otherwise dispose of: 1) Modifications
+        made by that Contributor (or portions thereof); and 2) the
+        combination of Modifications made by that Contributor with its
+        Contributor Version (or portions of such combination).
+
+        (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
+        effective on the date Contributor first makes Commercial Use
+        of the Covered Code.
+
+        (d) Notwithstanding Section 2.2(b) above, no patent license is
+        granted: 1) for any code that Contributor has deleted from the
+        Contributor Version; 2) separate from the Contributor Version;
+        3) for infringements caused by: i) third party modifications
+        of Contributor Version or ii) the combination of Modifications
+        made by that Contributor with other software (except as part
+        of the Contributor Version) or other devices; or 4) under
+        Patent Claims infringed by Covered Code in the absence of
+        Modifications made by that Contributor.
+
+
+3. Distribution Obligations.
+
+    3.1. Application of License.
+
+    The Modifications which You create or to which You contribute are
+    governed by the terms of this License, including without
+    limitation Section 2.2. The Source Code version of Covered Code
+    may be distributed only under the terms of this License or a
+    future version of this License released under Section 6.1, and You
+    must include a copy of this License with every copy of the Source
+    Code You distribute. You may not offer or impose any terms on any
+    Source Code version that alters or restricts the applicable
+    version of this License or the recipients' rights
+    hereunder. However, You may include an additional document
+    offering the additional rights described in Section 3.5.
+
+    3.2. Availability of Source Code.
+
+    Any Modification which You create or to which You contribute must
+    be made available in Source Code form under the terms of this
+    License either on the same media as an Executable version or via
+    an accepted Electronic Distribution Mechanism to anyone to whom
+    you made an Executable version available; and if made available
+    via Electronic Distribution Mechanism, must remain available for
+    at least twelve (12) months after the date it initially became
+    available, or at least six (6) months after a subsequent version
+    of that particular Modification has been made available to such
+    recipients. You are responsible for ensuring that the Source Code
+    version remains available even if the Electronic Distribution
+    Mechanism is maintained by a third party.
+
+    3.3. Description of Modifications.
+
+    You must cause all Covered Code to which You contribute to contain
+    a file documenting the changes You made to create that Covered
+    Code and the date of any change. You must include a prominent
+    statement that the Modification is derived, directly or
+    indirectly, from Original Code provided by the Initial Developer
+    and including the name of the Initial Developer in (a) the Source
+    Code, and (b) in any notice in an Executable version or related
+    documentation in which You describe the origin or ownership of the
+    Covered Code.
+
+    3.4. Intellectual Property Matters
+
+        (a) Third Party Claims.
+
+        If Contributor has knowledge that a license under a third
+        party's intellectual property rights is required to exercise
+        the rights granted by such Contributor under Sections 2.1 or
+        2.2, Contributor must include a text file with the Source Code
+        distribution titled "LEGAL'' which describes the claim and the
+        party making the claim in sufficient detail that a recipient
+        will know whom to contact. If Contributor obtains such
+        knowledge after the Modification is made available as
+        described in Section 3.2, Contributor shall promptly modify
+        the LEGAL file in all copies Contributor makes available
+        thereafter and shall take other steps (such as notifying
+        appropriate mailing lists or newsgroups) reasonably calculated
+        to inform those who received the Covered Code that new
+        knowledge has been obtained.
+
+        (b) Contributor APIs.
+
+        If Contributor's Modifications include an application
+        programming interface and Contributor has knowledge of patent
+        licenses which are reasonably necessary to implement that API,
+        Contributor must also include this information in the LEGAL
+        file.
+
+        (c)    Representations.
+
+        Contributor represents that, except as disclosed pursuant to
+        Section 3.4(a) above, Contributor believes that Contributor's
+        Modifications are Contributor's original creation(s) and/or
+        Contributor has sufficient rights to grant the rights conveyed
+        by this License.
+
+
+    3.5. Required Notices.
+
+    You must duplicate the notice in Exhibit A in each file of the
+    Source Code.  If it is not possible to put such notice in a
+    particular Source Code file due to its structure, then You must
+    include such notice in a location (such as a relevant directory)
+    where a user would be likely to look for such a notice.  If You
+    created one or more Modification(s) You may add your name as a
+    Contributor to the notice described in Exhibit A.  You must also
+    duplicate this License in any documentation for the Source Code
+    where You describe recipients' rights or ownership rights relating
+    to Covered Code.  You may choose to offer, and to charge a fee
+    for, warranty, support, indemnity or liability obligations to one
+    or more recipients of Covered Code. However, You may do so only on
+    Your own behalf, and not on behalf of the Initial Developer or any
+    Contributor. You must make it absolutely clear than any such
+    warranty, support, indemnity or liability obligation is offered by
+    You alone, and You hereby agree to indemnify the Initial Developer
+    and every Contributor for any liability incurred by the Initial
+    Developer or such Contributor as a result of warranty, support,
+    indemnity or liability terms You offer.
+
+    3.6. Distribution of Executable Versions.
+
+    You may distribute Covered Code in Executable form only if the
+    requirements of Section 3.1-3.5 have been met for that Covered
+    Code, and if You include a notice stating that the Source Code
+    version of the Covered Code is available under the terms of this
+    License, including a description of how and where You have
+    fulfilled the obligations of Section 3.2. The notice must be
+    conspicuously included in any notice in an Executable version,
+    related documentation or collateral in which You describe
+    recipients' rights relating to the Covered Code. You may
+    distribute the Executable version of Covered Code or ownership
+    rights under a license of Your choice, which may contain terms
+    different from this License, provided that You are in compliance
+    with the terms of this License and that the license for the
+    Executable version does not attempt to limit or alter the
+    recipient's rights in the Source Code version from the rights set
+    forth in this License. If You distribute the Executable version
+    under a different license You must make it absolutely clear that
+    any terms which differ from this License are offered by You alone,
+    not by the Initial Developer or any Contributor. You hereby agree
+    to indemnify the Initial Developer and every Contributor for any
+    liability incurred by the Initial Developer or such Contributor as
+    a result of any such terms You offer.
+
+    3.7. Larger Works.
+
+    You may create a Larger Work by combining Covered Code with other
+    code not governed by the terms of this License and distribute the
+    Larger Work as a single product. In such a case, You must make
+    sure the requirements of this License are fulfilled for the
+    Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+    If it is impossible for You to comply with any of the terms of
+    this License with respect to some or all of the Covered Code due
+    to statute, judicial order, or regulation then You must: (a)
+    comply with the terms of this License to the maximum extent
+    possible; and (b) describe the limitations and the code they
+    affect. Such description must be included in the LEGAL file
+    described in Section 3.4 and must be included with all
+    distributions of the Source Code. Except to the extent prohibited
+    by statute or regulation, such description must be sufficiently
+    detailed for a recipient of ordinary skill to be able to
+    understand it.
+
+5. Application of this License.
+
+    This License applies to code to which the Initial Developer has
+    attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+    6.1. New Versions.
+
+    Netscape Communications Corporation (''Netscape'') may publish
+    revised and/or new versions of the License from time to time. Each
+    version will be given a distinguishing version number.
+
+    6.2. Effect of New Versions.
+
+    Once Covered Code has been published under a particular version of
+    the License, You may always continue to use it under the terms of
+    that version. You may also choose to use such Covered Code under
+    the terms of any subsequent version of the License published by
+    Netscape. No one other than Netscape has the right to modify the
+    terms applicable to Covered Code created under this License.
+
+    6.3. Derivative Works.
+
+    If You create or use a modified version of this License (which you
+    may only do in order to apply it to code which is not already
+    Covered Code governed by this License), You must (a) rename Your
+    license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'',
+    ''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do
+    not appear in your license (except to note that your license
+    differs from this License) and (b) otherwise make it clear that
+    Your version of the license contains terms which differ from the
+    Mozilla Public License and Netscape Public License. (Filling in
+    the name of the Initial Developer, Original Code or Contributor in
+    the notice described in Exhibit A shall not of themselves be
+    deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+    COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS,
+    WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+    INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS
+    FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR
+    NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+    OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE
+    DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
+    OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING,
+    REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
+    ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS
+    AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+    8.1.  This License and the rights granted hereunder will terminate
+    automatically if You fail to comply with terms herein and fail to
+    cure such breach within 30 days of becoming aware of the
+    breach. All sublicenses to the Covered Code which are properly
+    granted shall survive any termination of this License. Provisions
+    which, by their nature, must remain in effect beyond the
+    termination of this License shall survive.
+
+    8.2.  If You initiate litigation by asserting a patent
+    infringement claim (excluding declatory judgment actions) against
+    Initial Developer or a Contributor (the Initial Developer or
+    Contributor against whom You file such action is referred to as
+    "Participant") alleging that:
+
+    (a) such Participant's Contributor Version directly or indirectly
+    infringes any patent, then any and all rights granted by such
+    Participant to You under Sections 2.1 and/or 2.2 of this License
+    shall, upon 60 days notice from Participant terminate
+    prospectively, unless if within 60 days after receipt of notice
+    You either: (i) agree in writing to pay Participant a mutually
+    agreeable reasonable royalty for Your past and future use of
+    Modifications made by such Participant, or (ii) withdraw Your
+    litigation claim with respect to the Contributor Version against
+    such Participant.  If within 60 days of notice, a reasonable
+    royalty and payment arrangement are not mutually agreed upon in
+    writing by the parties or the litigation claim is not withdrawn,
+    the rights granted by Participant to You under Sections 2.1 and/or
+    2.2 automatically terminate at the expiration of the 60 day notice
+    period specified above.
+
+    (b) any software, hardware, or device, other than such
+    Participant's Contributor Version, directly or indirectly
+    infringes any patent, then any rights granted to You by such
+    Participant under Sections 2.1(b) and 2.2(b) are revoked effective
+    as of the date You first made, used, sold, distributed, or had
+    made, Modifications made by that Participant.
+
+    8.3.  If You assert a patent infringement claim against
+    Participant alleging that such Participant's Contributor Version
+    directly or indirectly infringes any patent where such claim is
+    resolved (such as by license or settlement) prior to the
+    initiation of patent infringement litigation, then the reasonable
+    value of the licenses granted by such Participant under Sections
+    2.1 or 2.2 shall be taken into account in determining the amount
+    or value of any payment or license.
+
+    8.4.  In the event of termination under Sections 8.1 or 8.2 above,
+    all end user license agreements (excluding distributors and
+    resellers) which have been validly granted by You or any
+    distributor hereunder prior to termination shall survive
+    termination.
+
+9. LIMITATION OF LIABILITY.
+
+    UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+    (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
+    INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+    COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO
+    ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
+    DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES
+    FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
+    MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES,
+    EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF
+    SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO
+    LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S
+    NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
+    LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
+    LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
+    EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+    The Covered Code is a ''commercial item,'' as that term is defined
+    in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial
+    computer software'' and ''commercial computer software
+    documentation,'' as such terms are used in 48 C.F.R. 12.212
+    (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48
+    C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all
+    U.S. Government End Users acquire Covered Code with only those
+    rights set forth herein.
+
+11. MISCELLANEOUS.
+
+    This License represents the complete agreement concerning subject
+    matter hereof. If any provision of this License is held to be
+    unenforceable, such provision shall be reformed only to the extent
+    necessary to make it enforceable. This License shall be governed
+    by California law provisions (except to the extent applicable law,
+    if any, provides otherwise), excluding its conflict-of-law
+    provisions. With respect to disputes in which at least one party
+    is a citizen of, or an entity chartered or registered to do
+    business in the United States of America, any litigation relating
+    to this License shall be subject to the jurisdiction of the
+    Federal Courts of the Northern District of California, with venue
+    lying in Santa Clara County, California, with the losing party
+    responsible for costs, including without limitation, court costs
+    and reasonable attorneys' fees and expenses. The application of
+    the United Nations Convention on Contracts for the International
+    Sale of Goods is expressly excluded. Any law or regulation which
+    provides that the language of a contract shall be construed
+    against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+    As between Initial Developer and the Contributors, each party is
+    responsible for claims and damages arising, directly or
+    indirectly, out of its utilization of rights under this License
+    and You agree to work with Initial Developer and Contributors to
+    distribute such responsibility on an equitable basis. Nothing
+    herein is intended or shall be deemed to constitute any admission
+    of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+    Initial Developer may designate portions of the Covered Code as
+    �Multiple-Licensed�.  �Multiple-Licensed� means that the Initial
+    Developer permits you to utilize portions of the Covered Code
+    under Your choice of the NPL or the alternative licenses, if any,
+    specified by the Initial Developer in the file described in
+    Exhibit A.
+
+
+EXHIBIT A -Mozilla Public License.
+
+    ``The contents of this file are subject to the Mozilla Public
+    License Version 1.1 (the "License"); you may not use this file
+    except in compliance with the License. You may obtain a copy of
+    the License at http://www.mozilla.org/MPL/
+
+    Software distributed under the License is distributed on an "AS
+    IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+    implied. See the License for the specific language governing
+    rights and limitations under the License.
+
+    The Original Code is ______________________________________.
+
+    The Initial Developer of the Original Code is
+     ________________________. Portions created by
+     ______________________ are Copyright (C) ______
+     _______________________. All Rights Reserved.
+
+    Contributor(s): ______________________________________.
+
+    Alternatively, the contents of this file may be used under the
+    terms of the _____ license (the �[___] License�), in which case
+    the provisions of [______] License are applicable instead of those
+    above.  If you wish to allow use of your version of this file only
+    under the terms of the [____] License and not to allow others to
+    use your version of this file under the MPL, indicate your
+    decision by deleting the provisions above and replace them with
+    the notice and other provisions required by the [___] License.  If
+    you do not delete the provisions above, a recipient may use your
+    version of this file under either the MPL or the [___] License."
+
+    [NOTE: The text of this Exhibit A may differ slightly from the
+    text of the notices in the Source Code files of the Original
+    Code. You should use the text of this Exhibit A rather than the
+    text found in the Original Code Source Code for Your
+    Modifications.]
+============================================================================
+
+	  GNU GENERAL PUBLIC LICENSE
+	     Version 2, June 1991
+
+   Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+   Everyone is permitted to copy and distribute verbatim copies
+   of this license document, but changing it is not allowed.
+
+	    Preamble
+
+    The licenses for most software are designed to take away your
+  freedom to share and change it.  By contrast, the GNU General Public
+  License is intended to guarantee your freedom to share and change free
+  software--to make sure the software is free for all its users.  This
+  General Public License applies to most of the Free Software
+  Foundation's software and to any other program whose authors commit to
+  using it.  (Some other Free Software Foundation software is covered by
+  the GNU Lesser General Public License instead.)  You can apply it to
+  your programs, too.
+
+    When we speak of free software, we are referring to freedom, not
+  price.  Our General Public Licenses are designed to make sure that you
+  have the freedom to distribute copies of free software (and charge for
+  this service if you wish), that you receive source code or can get it
+  if you want it, that you can change the software or use pieces of it
+  in new free programs; and that you know you can do these things.
+
+    To protect your rights, we need to make restrictions that forbid
+  anyone to deny you these rights or to ask you to surrender the rights.
+  These restrictions translate to certain responsibilities for you if you
+  distribute copies of the software, or if you modify it.
+
+    For example, if you distribute copies of such a program, whether
+  gratis or for a fee, you must give the recipients all the rights that
+  you have.  You must make sure that they, too, receive or can get the
+  source code.  And you must show them these terms so they know their
+  rights.
+
+    We protect your rights with two steps: (1) copyright the software, and
+  (2) offer you this license which gives you legal permission to copy,
+  distribute and/or modify the software.
+
+    Also, for each author's protection and ours, we want to make certain
+  that everyone understands that there is no warranty for this free
+  software.  If the software is modified by someone else and passed on, we
+  want its recipients to know that what they have is not the original, so
+  that any problems introduced by others will not reflect on the original
+  authors' reputations.
+
+    Finally, any free program is threatened constantly by software
+  patents.  We wish to avoid the danger that redistributors of a free
+  program will individually obtain patent licenses, in effect making the
+  program proprietary.  To prevent this, we have made it clear that any
+  patent must be licensed for everyone's free use or not licensed at all.
+
+    The precise terms and conditions for copying, distribution and
+  modification follow.
+
+	  GNU GENERAL PUBLIC LICENSE
+     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+    0. This License applies to any program or other work which contains
+  a notice placed by the copyright holder saying it may be distributed
+  under the terms of this General Public License.  The "Program", below,
+  refers to any such program or work, and a "work based on the Program"
+  means either the Program or any derivative work under copyright law:
+  that is to say, a work containing the Program or a portion of it,
+  either verbatim or with modifications and/or translated into another
+  language.  (Hereinafter, translation is included without limitation in
+  the term "modification".)  Each licensee is addressed as "you".
+
+  Activities other than copying, distribution and modification are not
+  covered by this License; they are outside its scope.  The act of
+  running the Program is not restricted, and the output from the Program
+  is covered only if its contents constitute a work based on the
+  Program (independent of having been made by running the Program).
+  Whether that is true depends on what the Program does.
+
+    1. You may copy and distribute verbatim copies of the Program's
+  source code as you receive it, in any medium, provided that you
+  conspicuously and appropriately publish on each copy an appropriate
+  copyright notice and disclaimer of warranty; keep intact all the
+  notices that refer to this License and to the absence of any warranty;
+  and give any other recipients of the Program a copy of this License
+  along with the Program.
+
+  You may charge a fee for the physical act of transferring a copy, and
+  you may at your option offer warranty protection in exchange for a fee.
+
+    2. You may modify your copy or copies of the Program or any portion
+  of it, thus forming a work based on the Program, and copy and
+  distribute such modifications or work under the terms of Section 1
+  above, provided that you also meet all of these conditions:
+
+      a) You must cause the modified files to carry prominent notices
+      stating that you changed the files and the date of any change.
+
+      b) You must cause any work that you distribute or publish, that in
+      whole or in part contains or is derived from the Program or any
+      part thereof, to be licensed as a whole at no charge to all third
+      parties under the terms of this License.
+
+      c) If the modified program normally reads commands interactively
+      when run, you must cause it, when started running for such
+      interactive use in the most ordinary way, to print or display an
+      announcement including an appropriate copyright notice and a
+      notice that there is no warranty (or else, saying that you provide
+      a warranty) and that users may redistribute the program under
+      these conditions, and telling the user how to view a copy of this
+      License.  (Exception: if the Program itself is interactive but
+      does not normally print such an announcement, your work based on
+      the Program is not required to print an announcement.)
+
+  These requirements apply to the modified work as a whole.  If
+  identifiable sections of that work are not derived from the Program,
+  and can be reasonably considered independent and separate works in
+  themselves, then this License, and its terms, do not apply to those
+  sections when you distribute them as separate works.  But when you
+  distribute the same sections as part of a whole which is a work based
+  on the Program, the distribution of the whole must be on the terms of
+  this License, whose permissions for other licensees extend to the
+  entire whole, and thus to each and every part regardless of who wrote it.
+
+  Thus, it is not the intent of this section to claim rights or contest
+  your rights to work written entirely by you; rather, the intent is to
+  exercise the right to control the distribution of derivative or
+  collective works based on the Program.
+
+  In addition, mere aggregation of another work not based on the Program
+  with the Program (or with a work based on the Program) on a volume of
+  a storage or distribution medium does not bring the other work under
+  the scope of this License.
+
+    3. You may copy and distribute the Program (or a work based on it,
+  under Section 2) in object code or executable form under the terms of
+  Sections 1 and 2 above provided that you also do one of the following:
+
+      a) Accompany it with the complete corresponding machine-readable
+      source code, which must be distributed under the terms of Sections
+      1 and 2 above on a medium customarily used for software interchange; or,
+
+      b) Accompany it with a written offer, valid for at least three
+      years, to give any third party, for a charge no more than your
+      cost of physically performing source distribution, a complete
+      machine-readable copy of the corresponding source code, to be
+      distributed under the terms of Sections 1 and 2 above on a medium
+      customarily used for software interchange; or,
+
+      c) Accompany it with the information you received as to the offer
+      to distribute corresponding source code.  (This alternative is
+      allowed only for noncommercial distribution and only if you
+      received the program in object code or executable form with such
+      an offer, in accord with Subsection b above.)
+
+  The source code for a work means the preferred form of the work for
+  making modifications to it.  For an executable work, complete source
+  code means all the source code for all modules it contains, plus any
+  associated interface definition files, plus the scripts used to
+  control compilation and installation of the executable.  However, as a
+  special exception, the source code distributed need not include
+  anything that is normally distributed (in either source or binary
+  form) with the major components (compiler, kernel, and so on) of the
+  operating system on which the executable runs, unless that component
+  itself accompanies the executable.
+
+  If distribution of executable or object code is made by offering
+  access to copy from a designated place, then offering equivalent
+  access to copy the source code from the same place counts as
+  distribution of the source code, even though third parties are not
+  compelled to copy the source along with the object code.
+
+    4. You may not copy, modify, sublicense, or distribute the Program
+  except as expressly provided under this License.  Any attempt
+  otherwise to copy, modify, sublicense or distribute the Program is
+  void, and will automatically terminate your rights under this License.
+  However, parties who have received copies, or rights, from you under
+  this License will not have their licenses terminated so long as such
+  parties remain in full compliance.
+
+    5. You are not required to accept this License, since you have not
+  signed it.  However, nothing else grants you permission to modify or
+  distribute the Program or its derivative works.  These actions are
+  prohibited by law if you do not accept this License.  Therefore, by
+  modifying or distributing the Program (or any work based on the
+  Program), you indicate your acceptance of this License to do so, and
+  all its terms and conditions for copying, distributing or modifying
+  the Program or works based on it.
+
+    6. Each time you redistribute the Program (or any work based on the
+  Program), the recipient automatically receives a license from the
+  original licensor to copy, distribute or modify the Program subject to
+  these terms and conditions.  You may not impose any further
+  restrictions on the recipients' exercise of the rights granted herein.
+  You are not responsible for enforcing compliance by third parties to
+  this License.
+
+    7. If, as a consequence of a court judgment or allegation of patent
+  infringement or for any other reason (not limited to patent issues),
+  conditions are imposed on you (whether by court order, agreement or
+  otherwise) that contradict the conditions of this License, they do not
+  excuse you from the conditions of this License.  If you cannot
+  distribute so as to satisfy simultaneously your obligations under this
+  License and any other pertinent obligations, then as a consequence you
+  may not distribute the Program at all.  For example, if a patent
+  license would not permit royalty-free redistribution of the Program by
+  all those who receive copies directly or indirectly through you, then
+  the only way you could satisfy both it and this License would be to
+  refrain entirely from distribution of the Program.
+
+  If any portion of this section is held invalid or unenforceable under
+  any particular circumstance, the balance of the section is intended to
+  apply and the section as a whole is intended to apply in other
+  circumstances.
+
+  It is not the purpose of this section to induce you to infringe any
+  patents or other property right claims or to contest validity of any
+  such claims; this section has the sole purpose of protecting the
+  integrity of the free software distribution system, which is
+  implemented by public license practices.  Many people have made
+  generous contributions to the wide range of software distributed
+  through that system in reliance on consistent application of that
+  system; it is up to the author/donor to decide if he or she is willing
+  to distribute software through any other system and a licensee cannot
+  impose that choice.
+
+  This section is intended to make thoroughly clear what is believed to
+  be a consequence of the rest of this License.
+
+    8. If the distribution and/or use of the Program is restricted in
+  certain countries either by patents or by copyrighted interfaces, the
+  original copyright holder who places the Program under this License
+  may add an explicit geographical distribution limitation excluding
+  those countries, so that distribution is permitted only in or among
+  countries not thus excluded.  In such case, this License incorporates
+  the limitation as if written in the body of this License.
+
+    9. The Free Software Foundation may publish revised and/or new versions
+  of the General Public License from time to time.  Such new versions will
+  be similar in spirit to the present version, but may differ in detail to
+  address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the Program
+  specifies a version number of this License which applies to it and "any
+  later version", you have the option of following the terms and conditions
+  either of that version or of any later version published by the Free
+  Software Foundation.  If the Program does not specify a version number of
+  this License, you may choose any version ever published by the Free Software
+  Foundation.
+
+    10. If you wish to incorporate parts of the Program into other free
+  programs whose distribution conditions are different, write to the author
+  to ask for permission.  For software which is copyrighted by the Free
+  Software Foundation, write to the Free Software Foundation; we sometimes
+  make exceptions for this.  Our decision will be guided by the two goals
+  of preserving the free status of all derivatives of our free software and
+  of promoting the sharing and reuse of software generally.
+
+	    NO WARRANTY
+
+    11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+  FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+  OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+  PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+  OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+  TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+  PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+  REPAIR OR CORRECTION.
+
+    12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+  REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+  INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+  OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+  TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+  YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+  PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+  POSSIBILITY OF SUCH DAMAGES.
+
+	   END OF TERMS AND CONDITIONS
+
+	How to Apply These Terms to Your New Programs
+
+    If you develop a new program, and you want it to be of the greatest
+  possible use to the public, the best way to achieve this is to make it
+  free software which everyone can redistribute and change under these terms.
+
+    To do so, attach the following notices to the program.  It is safest
+  to attach them to the start of each source file to most effectively
+  convey the exclusion of warranty; and each file should have at least
+  the "copyright" line and a pointer to where the full notice is found.
+
+      <one line to give the program's name and a brief idea of what it does.>
+      Copyright (C) <year>  <name of author>
+
+      This program is free software; you can redistribute it and/or modify
+      it under the terms of the GNU General Public License as published by
+      the Free Software Foundation; either version 2 of the License, or
+      (at your option) any later version.
+
+      This program is distributed in the hope that it will be useful,
+      but WITHOUT ANY WARRANTY; without even the implied warranty of
+      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+      GNU General Public License for more details.
+
+      You should have received a copy of the GNU General Public License along
+      with this program; if not, write to the Free Software Foundation, Inc.,
+      51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+  Also add information on how to contact you by electronic and paper mail.
+
+  If the program is interactive, make it output a short notice like this
+  when it starts in an interactive mode:
+
+      Gnomovision version 69, Copyright (C) year name of author
+      Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+      This is free software, and you are welcome to redistribute it
+      under certain conditions; type `show c' for details.
+
+  The hypothetical commands `show w' and `show c' should show the appropriate
+  parts of the General Public License.  Of course, the commands you use may
+  be called something other than `show w' and `show c'; they could even be
+  mouse-clicks or menu items--whatever suits your program.
+
+  You should also get your employer (if you work as a programmer) or your
+  school, if any, to sign a "copyright disclaimer" for the program, if
+  necessary.  Here is a sample; alter the names:
+
+    Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+    `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+    <signature of Ty Coon>, 1 April 1989
+    Ty Coon, President of Vice
+
+  This General Public License does not permit incorporating your program into
+  proprietary programs.  If your program is a subroutine library, you may
+  consider it more useful to permit linking proprietary applications with the
+  library.  If this is what you want to do, use the GNU Lesser General
+  Public License instead of this License.
+============================================================================
+
+------------------
+
+Files: kotlinc/lib/kotlin-compiler.jar
+
+The MIT License
+
+Copyright (c) 2003, Kohsuke Kawaguchi
+
+Permission 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.
+
+------------------
+
+Files: 
+
+
+ ASM: a very small and fast Java bytecode manipulation framework
+ Copyright (c) 2000-2005 INRIA, France Telecom
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the copyright holders nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ THE POSSIBILITY OF SUCH DAMAGE.
+
+------------------
+
+Files:
+
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+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, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+------------------
+
+Files:
+
+Eclipse Public License, Version 1.0 (EPL-1.0)
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+    a) in the case of the initial Contributor, the initial code and
+       documentation distributed under this Agreement, and
+
+    b) in the case of each subsequent Contributor:
+        i) changes to the Program, and
+        ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates'
+from a Contributor if it was added to the Program by such Contributor itself
+or anyone acting on such Contributor's behalf. Contributions do not include
+additions to the Program which: (i) are separate modules of software
+distributed in conjunction with the Program under their own license agreement,
+and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or
+when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with
+this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+    a) Subject to the terms of this Agreement, each Contributor hereby grants
+       Recipient a non-exclusive, worldwide, royalty-free copyright license to
+       reproduce, prepare derivative works of, publicly display, publicly
+       perform, distribute and sublicense the Contribution of such
+       Contributor, if any, and such derivative works,
+       in source code and object code form.
+
+    b) Subject to the terms of this Agreement, each Contributor hereby grants
+       Recipient a non-exclusive, worldwide, royalty-free patent license under
+       Licensed Patents to make, use, sell, offer to sell, import and
+       otherwise transfer the Contribution of such Contributor, if any,
+       in source code and object code form. This patent license shall apply
+       to the combination of the Contribution and the Program if, at the time
+       the Contribution is added by the Contributor, such addition of the
+       Contribution causes such combination to be covered by the
+       Licensed Patents. The patent license shall not apply to any other
+       combinations which include the Contribution.
+       No hardware per se is licensed hereunder.
+
+    c) Recipient understands that although each Contributor grants the
+       licenses to its Contributions set forth herein, no assurances are
+       provided by any Contributor that the Program does not infringe the
+       patent or other intellectual property rights of any other entity.
+       Each Contributor disclaims any liability to Recipient for claims
+       brought by any other entity based on infringement of intellectual
+       property rights or otherwise. As a condition to exercising the
+       rights and licenses granted hereunder, each Recipient hereby assumes
+       sole responsibility to secure any other intellectual property rights
+       needed, if any. For example, if a third party patent license is
+       required to allow Recipient to distribute the Program, it is
+       Recipient's responsibility to acquire that license
+       before distributing the Program.
+
+    d) Each Contributor represents that to its knowledge it has sufficient
+       copyright rights in its Contribution, if any, to grant the copyright
+       license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under
+its own license agreement, provided that:
+
+    a) it complies with the terms and conditions of this Agreement; and
+
+    b) its license agreement:
+
+        i) effectively disclaims on behalf of all Contributors all warranties
+        and conditions, express and implied, including warranties or
+        conditions of title and non-infringement, and implied warranties or
+        conditions of merchantability and fitness for a particular purpose;
+
+        ii) effectively excludes on behalf of all Contributors all liability
+        for damages, including direct, indirect, special, incidental and
+        consequential damages, such as lost profits;
+
+        iii) states that any provisions which differ from this Agreement are
+        offered by that Contributor alone and not by any other party; and
+
+        iv) states that source code for the Program is available from such
+        Contributor, and informs licensees how to obtain it in a reasonable
+        manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+    a) it must be made available under this Agreement; and
+    b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained
+within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution,
+if any, in a manner that reasonably allows subsequent Recipients to
+identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore,
+if a Contributor includes the Program in a commercial product offering,
+such Contributor ("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor") against any
+losses, damages and costs (collectively "Losses") arising from claims,
+lawsuits and other legal actions brought by a third party against the
+Indemnified Contributor to the extent caused by the acts or omissions of
+such Commercial Contributor in connection with its distribution of the Program
+in a commercial product offering. The obligations in this section do not apply
+to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must:
+a) promptly notify the Commercial Contributor in writing of such claim,
+and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement
+negotiations. The Indemnified Contributor may participate in any such
+claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor.
+If that Commercial Contributor then makes performance claims, or offers
+warranties related to Product X, those performance claims and warranties
+are such Commercial Contributor's responsibility alone. Under this section,
+the Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+Each Recipient is solely responsible for determining the appropriateness of
+using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the
+risks and costs of program errors, compliance with applicable laws, damage to
+or loss of data, programs or equipment, and unavailability
+or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
+LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of the
+remainder of the terms of this Agreement, and without further action by
+the parties hereto, such provision shall be reformed to the minimum extent
+necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+(excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted
+under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and
+does not cure such failure in a reasonable period of time after becoming
+aware of such noncompliance. If all Recipient's rights under this
+Agreement terminate, Recipient agrees to cease use and distribution of the
+Program as soon as reasonably practicable. However, Recipient's obligations
+under this Agreement and any licenses granted by Recipient relating to the
+Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted and may
+only be modified in the following manner. The Agreement Steward reserves
+the right to publish new versions (including revisions) of this Agreement
+from time to time. No one other than the Agreement Steward has the right to
+modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version
+of the Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly
+stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
+licenses to the intellectual property of any Contributor under this Agreement,
+whether expressly, by implication, estoppel or otherwise. All rights in the
+Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to
+this Agreement will bring a legal action under this Agreement more than one
+year after the cause of action arose. Each party waives its rights to a
+jury trial in any resulting litigation.
+
+------------------
+
+Files:
+
+Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+
+Developed at SunSoft, a Sun Microsystems, Inc. business.
+Permission to use, copy, modify, and distribute this
+software is freely granted, provided that this notice 
+is preserved.
+
+Protocol Buffers for Java:
+
+Copyright 2008 Google Inc.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Code generated by the Protocol Buffer compiler is owned by the owner
+of the input file used when generating it.  This code is not
+standalone and requires a support library to be linked with it.  This
+support library is itself covered by the above license.
+
+
+SafeParcelable library:
 
 
                                  Apache License
@@ -145666,67 +147229,819 @@ safeparcel:
    limitations under the License.
 
 
-zlib:
+Tink:
 
-(extracted from README, except for match.S)
 
-Copyright notice:
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
 
- (C) 1995-2013 Jean-loup Gailly and Mark Adler
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
+   1. Definitions.
 
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
 
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
 
-  Jean-loup Gailly        Mark Adler
-  jloup@gzip.org          madler@alumni.caltech.edu
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
 
-If you use the zlib library in a product, we would appreciate *not* receiving
-lengthy legal documents to sign.  The sources are provided for free but without
-warranty of any kind.  The library has been entirely written by Jean-loup
-Gailly and Mark Adler; it does not include third-party code.
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
 
-If you redistribute modified sources, we would appreciate that you include in
-the file ChangeLog history information documenting your changes.  Please read
-the FAQ for more information on the distribution of modified source versions.
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
 
-(extracted from match.S, for match.S only)
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
 
-Copyright (C) 1998, 2007 Brian Raiter <breadbox@muppetlabs.com>
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
 
-This software is provided 'as-is', without any express or implied
-warranty.  In no event will the author be held liable for any damages
-arising from the use of this software.
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
 
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
 
-1. The origin of this software must not be misrepresented; you must not
-  claim that you wrote the original software. If you use this software
-  in a product, an acknowledgment in the product documentation would be
-  appreciated but is not required.
-2. Altered source versions must be plainly marked as such, and must not be
-  misrepresented as being the original software.
-3. This notice may not be removed or altered from any source distribution.
-
+ "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +apksig: + + + Copyright (c) 2005-2008, The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + + +Kotlin coroutines: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +kotlinx_atomicfu: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License.
-play-services-places-placereport +play-services-phenotype homepage
-
-play-services-tflite-impl -homepage - -
-
Terms and conditions
-
-This is the Android Software Development Kit License Agreement
-
-1. Introduction
-
-1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
-
-1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
-
-1.3 A "compatible implementation" means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS).
-
-1.4 "Google" means Google LLC, a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-
-2. Accepting this License Agreement
-
-2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of the License Agreement.
-
-2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK.
-
-2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
-
-
-3. SDK License from Google
-
-3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android.
-
-3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose.
-
-3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
-
-3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement.  Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK.
-
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement.
-
-3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
-
-3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
-
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
-
-
-4. Use of the SDK by You
-
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
-
-4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
-
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
-
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
-
-
-5. Your Developer Credentials
-
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
-
-
-6. Privacy and Information
-
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
-
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
-
-
-7. Third Party Applications
-
-7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
-
-7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
-
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, the License Agreement does not affect your legal relationship with these third parties.
-
-
-8. Using Android APIs
-
-8.1 Google Data APIs
-
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
-
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
-
-
-9. Terminating this License Agreement
-
-9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
-
-9.3 Google may at any time, terminate the License Agreement with you if:
-(A) you have breached any provision of the License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When the License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst the License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
-
-
-10. DISCLAIMER OF WARRANTIES
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
-
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-
-
-11. LIMITATION OF LIABILITY
-
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-
-12. Indemnification
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with the License Agreement.
-
-
-13. Changes to the License Agreement
-
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
-
-
-14. General Legal Terms
-
-14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
-
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in the License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under the License Agreement without the prior written approval of the other party.
-
-14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
-
-
-December 9, 2016
-
-
-AndroidX annotation experimental library:
-
-
- Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-AndroidX tracing library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-Animal Sniffer:
-
-The MIT License
-
-Copyright (c) 2008 Kohsuke Kawaguchi and codehaus.org.
-
-Permission 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.
-
-
-Checker Framework Annotations:
-
-A few parts of the Checker Framework have more permissive licenses.
-
- * The annotations are licensed under the MIT License.  (The text of this
-   license appears below.)  More specifically, all the parts of the Checker
-   Framework that you might want to include with your own program use the
-   MIT License.  This is the checker-qual.jar file and all the files that
-   appear in it:  every file in a qual/ directory, plus utility files such
-   as NullnessUtil.java, RegexUtil.java, SignednessUtil.java, etc.
-   In addition, the cleanroom implementations of third-party annotations,
-   which the Checker Framework recognizes as aliases for its own
-   annotations, are licensed under the MIT License.
-
-===========================================================================
-
-MIT License:
-
-Permission 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.
-
-===========================================================================
-
-
-Error Prone:
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-Google Auto:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-Guava JDK5:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-Guava JDK7:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-   
-
-
-J2ObjC:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
---------------------------------------------------------------------------------
-The next section, BSD-3-Clause, applies to the files in:
-jre_emul/android/platform/libcore/ojluni/src/main/java/java/time
---------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice,
-  this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
-  this list of conditions and the following disclaimer in the documentation
-  and/or other materials provided with the distribution.
-
-* Neither the name of JSR-310 nor the names of its contributors
-  may be used to endorse or promote products derived from this software
-  without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-JSR 250:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-JSR 305:
-
-Copyright (c) 2007-2009, JSR305 expert group
-All rights reserved.
-
-http://www.opensource.org/licenses/bsd-license.php
-
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, 
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, 
-      this list of conditions and the following disclaimer in the documentation 
-      and/or other materials provided with the distribution.
-    * Neither the name of the JSR305 expert group nor the names of its 
-      contributors may be used to endorse or promote products derived from 
-      this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
-POSSIBILITY OF SUCH DAMAGE.
-
-
-JSpecify:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-JsInterop Annotations:
-
-Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2017 Google Inc.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Kotlin:
-
-Files: kotlinc/*
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2000-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-------------------
-
-Files: kotlinc/lib/trove4j.jar
-
-
-          GNU LESSER GENERAL PUBLIC LICENSE
-               Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-          GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-             END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
-------------------
-
-Files:
-
-The version of Rhino used in GWT is licensed under a dual license,
-Netscape Public License 1.1 / GNU General Public License.
-The text of the Netscape Public License
-is provided below (http://website-archive.mozilla.org/www.mozilla.org/mpl/MPL/NPL/1.1/):
-
-AMENDMENTS
-
-The Netscape Public License Version 1.1 ("NPL") consists of the
-Mozilla Public License Version 1.1 with the following Amendments,
-including Exhibit A-Netscape Public License.  Files identified with
-"Exhibit A-Netscape Public License" are governed by the Netscape
-Public License Version 1.1.
-
-Additional Terms applicable to the Netscape Public License.
-
-    I. Effect.
-
-       These additional terms described in this Netscape Public
-       License -- Amendments shall apply to the Mozilla Communicator
-       client code and to all Covered Code under this License.
-
-   II. ''Netscape's Branded Code'' means Covered Code that Netscape
-       distributes and/or permits others to distribute under one or
-       more trademark(s) which are controlled by Netscape but which
-       are not licensed for use under this License.
-
-  III. Netscape and logo.
-
-       This License does not grant any rights to use the trademarks
-       "Netscape'', the "Netscape N and horizon'' logo or the
-       "Netscape lighthouse" logo, "Netcenter", "Gecko", "Java" or
-       "JavaScript", "Smart Browsing" even if such marks are included
-       in the Original Code or Modifications.
-
-   IV. Inability to Comply Due to Contractual Obligation.
-
-       Prior to licensing the Original Code under this License,
-       Netscape has licensed third party code for use in Netscape's
-       Branded Code. To the extent that Netscape is limited
-       contractually from making such third party code available under
-       this License, Netscape may choose to reintegrate such code into
-       Covered Code without being required to distribute such code in
-       Source Code form, even if such code would otherwise be
-       considered ''Modifications'' under this License.
-
-    V. Use of Modifications and Covered Code by Initial Developer.
-
-        V.1. In General.
-
-             The obligations of Section 3 apply to Netscape, except to
-             the extent specified in this Amendment, Section V.2 and
-             V.3.
-
-        V.2. Other Products.
-
-             Netscape may include Covered Code in products other than
-             the Netscape's Branded Code which are released by
-             Netscape during the two (2) years following the release
-             date of the Original Code, without such additional
-             products becoming subject to the terms of this License,
-             and may license such additional products on different
-             terms from those contained in this License.
-
-        V.3. Alternative Licensing.
-
-             Netscape may license the Source Code of Netscape's
-             Branded Code, including Modifications incorporated
-             therein, without such Netscape Branded Code becoming
-             subject to the terms of this License, and may license
-             such Netscape Branded Code on different terms from those
-             contained in this License.
-
-    VI. Litigation.
-
-        Notwithstanding the limitations of Section 11 above, the
-        provisions regarding litigation in Section 11(a), (b) and (c)
-        of the License shall apply to all disputes relating to this
-        License.
-
-
-EXHIBIT A-Netscape Public License.
-
-
-    ''The contents of this file are subject to the Netscape Public
-    License Version 1.1 (the "License"); you may not use this file
-    except in compliance with the License. You may obtain a copy of
-    the License at http://www.mozilla.org/NPL/
-
-    Software distributed under the License is distributed on an "AS
-    IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-    implied. See the License for the specific language governing
-    rights and limitations under the License.
-
-    The Original Code is Mozilla Communicator client code, released
-    March 31, 1998.
-
-    The Initial Developer of the Original Code is Netscape
-    Communications Corporation. Portions created by Netscape are
-    Copyright (C) 1998-1999 Netscape Communications Corporation. All
-    Rights Reserved.
-
-    Contributor(s): ______________________________________.
-
-
-    Alternatively, the contents of this file may be used under the
-    terms of the _____ license (the �[___] License�), in which case
-    the provisions of [______] License are applicable instead of those
-    above.  If you wish to allow use of your version of this file only
-    under the terms of the [____] License and not to allow others to
-    use your version of this file under the NPL, indicate your
-    decision by deleting the provisions above and replace them with
-    the notice and other provisions required by the [___] License.  If
-    you do not delete the provisions above, a recipient may use your
-    version of this file under either the NPL or the [___] License."
-
-
-----------------------
-
-MOZILLA PUBLIC LICENSE
-Version 1.1
-
-1. Definitions.
-
-    1.0.1. "Commercial Use" means distribution or otherwise making the
-    Covered Code available to a third party.
-
-    1.1. ''Contributor'' means each entity that creates or contributes
-    to the creation of Modifications.
-
-    1.2. ''Contributor Version'' means the combination of the Original
-    Code, prior Modifications used by a Contributor, and the
-    Modifications made by that particular Contributor.
-
-    1.3. ''Covered Code'' means the Original Code or Modifications or
-    the combination of the Original Code and Modifications, in each
-    case including portions thereof.
-
-    1.4. ''Electronic Distribution Mechanism'' means a mechanism
-    generally accepted in the software development community for the
-    electronic transfer of data.
-
-    1.5. ''Executable'' means Covered Code in any form other than Source Code.
-
-    1.6. ''Initial Developer'' means the individual or entity
-    identified as the Initial Developer in the Source Code notice
-    required by Exhibit A.
-
-    1.7. ''Larger Work'' means a work which combines Covered Code or
-    portions thereof with code not governed by the terms of this
-    License.
-
-    1.8. ''License'' means this document.
-
-    1.8.1. "Licensable" means having the right to grant, to the
-    maximum extent possible, whether at the time of the initial grant
-    or subsequently acquired, any and all of the rights conveyed
-    herein.
-
-    1.9. ''Modifications'' means any addition to or deletion from the
-    substance or structure of either the Original Code or any previous
-    Modifications. When Covered Code is released as a series of files,
-    a Modification is:
-
-        A. Any addition to or deletion from the contents of a file
-        containing Original Code or previous Modifications.
-
-        B. Any new file that contains any part of the Original Code or
-        previous Modifications.
-
-    1.10. ''Original Code'' means Source Code of computer software
-    code which is described in the Source Code notice required by
-    Exhibit A as Original Code, and which, at the time of its release
-    under this License is not already Covered Code governed by this
-    License.
-
-    1.10.1. "Patent Claims" means any patent claim(s), now owned or
-    hereafter acquired, including without limitation, method, process,
-    and apparatus claims, in any patent Licensable by grantor.
-
-    1.11. ''Source Code'' means the preferred form of the Covered Code
-    for making modifications to it, including all modules it contains,
-    plus any associated interface definition files, scripts used to
-    control compilation and installation of an Executable, or source
-    code differential comparisons against either the Original Code or
-    another well known, available Covered Code of the Contributor's
-    choice. The Source Code can be in a compressed or archival form,
-    provided the appropriate decompression or de-archiving software is
-    widely available for no charge.
-
-    1.12. "You'' (or "Your") means an individual or a legal entity
-    exercising rights under, and complying with all of the terms of,
-    this License or a future version of this License issued under
-    Section 6.1. For legal entities, "You'' includes any entity which
-    controls, is controlled by, or is under common control with
-    You. For purposes of this definition, "control'' means (a) the
-    power, direct or indirect, to cause the direction or management of
-    such entity, whether by contract or otherwise, or (b) ownership of
-    more than fifty percent (50%) of the outstanding shares or
-    beneficial ownership of such entity.
-
-2. Source Code License.
-
-    2.1. The Initial Developer Grant.
-
-    The Initial Developer hereby grants You a world-wide,
-    royalty-free, non-exclusive license, subject to third party
-    intellectual property claims:
-
-        (a) under intellectual property rights (other than patent or
-        trademark) Licensable by Initial Developer to use, reproduce,
-        modify, display, perform, sublicense and distribute the
-        Original Code (or portions thereof) with or without
-        Modifications, and/or as part of a Larger Work; and
-
-        (b) under Patents Claims infringed by the making, using or
-        selling of Original Code, to make, have made, use, practice,
-        sell, and offer for sale, and/or otherwise dispose of the
-        Original Code (or portions thereof).
-
-        (c) the licenses granted in this Section 2.1(a) and (b) are
-        effective on the date Initial Developer first distributes
-        Original Code under the terms of this License.
-
-        (d) Notwithstanding Section 2.1(b) above, no patent license is
-        granted: 1) for code that You delete from the Original Code;
-        2) separate from the Original Code; or 3) for infringements
-        caused by: i) the modification of the Original Code or ii) the
-        combination of the Original Code with other software or
-        devices.
-
-    2.2. Contributor Grant.
-
-    Subject to third party intellectual property claims, each
-    Contributor hereby grants You a world-wide, royalty-free,
-    non-exclusive license
-
-        (a) under intellectual property rights (other than patent or
-        trademark) Licensable by Contributor, to use, reproduce,
-        modify, display, perform, sublicense and distribute the
-        Modifications created by such Contributor (or portions
-        thereof) either on an unmodified basis, with other
-        Modifications, as Covered Code and/or as part of a Larger
-        Work; and
-
-        (b) under Patent Claims infringed by the making, using, or
-        selling of Modifications made by that Contributor either alone
-        and/or in combination with its Contributor Version (or
-        portions of such combination), to make, use, sell, offer for
-        sale, have made, and/or otherwise dispose of: 1) Modifications
-        made by that Contributor (or portions thereof); and 2) the
-        combination of Modifications made by that Contributor with its
-        Contributor Version (or portions of such combination).
-
-        (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-        effective on the date Contributor first makes Commercial Use
-        of the Covered Code.
-
-        (d) Notwithstanding Section 2.2(b) above, no patent license is
-        granted: 1) for any code that Contributor has deleted from the
-        Contributor Version; 2) separate from the Contributor Version;
-        3) for infringements caused by: i) third party modifications
-        of Contributor Version or ii) the combination of Modifications
-        made by that Contributor with other software (except as part
-        of the Contributor Version) or other devices; or 4) under
-        Patent Claims infringed by Covered Code in the absence of
-        Modifications made by that Contributor.
-
-
-3. Distribution Obligations.
-
-    3.1. Application of License.
-
-    The Modifications which You create or to which You contribute are
-    governed by the terms of this License, including without
-    limitation Section 2.2. The Source Code version of Covered Code
-    may be distributed only under the terms of this License or a
-    future version of this License released under Section 6.1, and You
-    must include a copy of this License with every copy of the Source
-    Code You distribute. You may not offer or impose any terms on any
-    Source Code version that alters or restricts the applicable
-    version of this License or the recipients' rights
-    hereunder. However, You may include an additional document
-    offering the additional rights described in Section 3.5.
-
-    3.2. Availability of Source Code.
-
-    Any Modification which You create or to which You contribute must
-    be made available in Source Code form under the terms of this
-    License either on the same media as an Executable version or via
-    an accepted Electronic Distribution Mechanism to anyone to whom
-    you made an Executable version available; and if made available
-    via Electronic Distribution Mechanism, must remain available for
-    at least twelve (12) months after the date it initially became
-    available, or at least six (6) months after a subsequent version
-    of that particular Modification has been made available to such
-    recipients. You are responsible for ensuring that the Source Code
-    version remains available even if the Electronic Distribution
-    Mechanism is maintained by a third party.
-
-    3.3. Description of Modifications.
-
-    You must cause all Covered Code to which You contribute to contain
-    a file documenting the changes You made to create that Covered
-    Code and the date of any change. You must include a prominent
-    statement that the Modification is derived, directly or
-    indirectly, from Original Code provided by the Initial Developer
-    and including the name of the Initial Developer in (a) the Source
-    Code, and (b) in any notice in an Executable version or related
-    documentation in which You describe the origin or ownership of the
-    Covered Code.
-
-    3.4. Intellectual Property Matters
-
-        (a) Third Party Claims.
-
-        If Contributor has knowledge that a license under a third
-        party's intellectual property rights is required to exercise
-        the rights granted by such Contributor under Sections 2.1 or
-        2.2, Contributor must include a text file with the Source Code
-        distribution titled "LEGAL'' which describes the claim and the
-        party making the claim in sufficient detail that a recipient
-        will know whom to contact. If Contributor obtains such
-        knowledge after the Modification is made available as
-        described in Section 3.2, Contributor shall promptly modify
-        the LEGAL file in all copies Contributor makes available
-        thereafter and shall take other steps (such as notifying
-        appropriate mailing lists or newsgroups) reasonably calculated
-        to inform those who received the Covered Code that new
-        knowledge has been obtained.
-
-        (b) Contributor APIs.
-
-        If Contributor's Modifications include an application
-        programming interface and Contributor has knowledge of patent
-        licenses which are reasonably necessary to implement that API,
-        Contributor must also include this information in the LEGAL
-        file.
-
-        (c)    Representations.
-
-        Contributor represents that, except as disclosed pursuant to
-        Section 3.4(a) above, Contributor believes that Contributor's
-        Modifications are Contributor's original creation(s) and/or
-        Contributor has sufficient rights to grant the rights conveyed
-        by this License.
-
-
-    3.5. Required Notices.
-
-    You must duplicate the notice in Exhibit A in each file of the
-    Source Code.  If it is not possible to put such notice in a
-    particular Source Code file due to its structure, then You must
-    include such notice in a location (such as a relevant directory)
-    where a user would be likely to look for such a notice.  If You
-    created one or more Modification(s) You may add your name as a
-    Contributor to the notice described in Exhibit A.  You must also
-    duplicate this License in any documentation for the Source Code
-    where You describe recipients' rights or ownership rights relating
-    to Covered Code.  You may choose to offer, and to charge a fee
-    for, warranty, support, indemnity or liability obligations to one
-    or more recipients of Covered Code. However, You may do so only on
-    Your own behalf, and not on behalf of the Initial Developer or any
-    Contributor. You must make it absolutely clear than any such
-    warranty, support, indemnity or liability obligation is offered by
-    You alone, and You hereby agree to indemnify the Initial Developer
-    and every Contributor for any liability incurred by the Initial
-    Developer or such Contributor as a result of warranty, support,
-    indemnity or liability terms You offer.
-
-    3.6. Distribution of Executable Versions.
-
-    You may distribute Covered Code in Executable form only if the
-    requirements of Section 3.1-3.5 have been met for that Covered
-    Code, and if You include a notice stating that the Source Code
-    version of the Covered Code is available under the terms of this
-    License, including a description of how and where You have
-    fulfilled the obligations of Section 3.2. The notice must be
-    conspicuously included in any notice in an Executable version,
-    related documentation or collateral in which You describe
-    recipients' rights relating to the Covered Code. You may
-    distribute the Executable version of Covered Code or ownership
-    rights under a license of Your choice, which may contain terms
-    different from this License, provided that You are in compliance
-    with the terms of this License and that the license for the
-    Executable version does not attempt to limit or alter the
-    recipient's rights in the Source Code version from the rights set
-    forth in this License. If You distribute the Executable version
-    under a different license You must make it absolutely clear that
-    any terms which differ from this License are offered by You alone,
-    not by the Initial Developer or any Contributor. You hereby agree
-    to indemnify the Initial Developer and every Contributor for any
-    liability incurred by the Initial Developer or such Contributor as
-    a result of any such terms You offer.
-
-    3.7. Larger Works.
-
-    You may create a Larger Work by combining Covered Code with other
-    code not governed by the terms of this License and distribute the
-    Larger Work as a single product. In such a case, You must make
-    sure the requirements of this License are fulfilled for the
-    Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-    If it is impossible for You to comply with any of the terms of
-    this License with respect to some or all of the Covered Code due
-    to statute, judicial order, or regulation then You must: (a)
-    comply with the terms of this License to the maximum extent
-    possible; and (b) describe the limitations and the code they
-    affect. Such description must be included in the LEGAL file
-    described in Section 3.4 and must be included with all
-    distributions of the Source Code. Except to the extent prohibited
-    by statute or regulation, such description must be sufficiently
-    detailed for a recipient of ordinary skill to be able to
-    understand it.
-
-5. Application of this License.
-
-    This License applies to code to which the Initial Developer has
-    attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
-    6.1. New Versions.
-
-    Netscape Communications Corporation (''Netscape'') may publish
-    revised and/or new versions of the License from time to time. Each
-    version will be given a distinguishing version number.
-
-    6.2. Effect of New Versions.
-
-    Once Covered Code has been published under a particular version of
-    the License, You may always continue to use it under the terms of
-    that version. You may also choose to use such Covered Code under
-    the terms of any subsequent version of the License published by
-    Netscape. No one other than Netscape has the right to modify the
-    terms applicable to Covered Code created under this License.
-
-    6.3. Derivative Works.
-
-    If You create or use a modified version of this License (which you
-    may only do in order to apply it to code which is not already
-    Covered Code governed by this License), You must (a) rename Your
-    license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'',
-    ''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do
-    not appear in your license (except to note that your license
-    differs from this License) and (b) otherwise make it clear that
-    Your version of the license contains terms which differ from the
-    Mozilla Public License and Netscape Public License. (Filling in
-    the name of the Initial Developer, Original Code or Contributor in
-    the notice described in Exhibit A shall not of themselves be
-    deemed to be modifications of this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-    COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS,
-    WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-    INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS
-    FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR
-    NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
-    OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE
-    DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
-    OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING,
-    REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
-    ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS
-    AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-    8.1.  This License and the rights granted hereunder will terminate
-    automatically if You fail to comply with terms herein and fail to
-    cure such breach within 30 days of becoming aware of the
-    breach. All sublicenses to the Covered Code which are properly
-    granted shall survive any termination of this License. Provisions
-    which, by their nature, must remain in effect beyond the
-    termination of this License shall survive.
-
-    8.2.  If You initiate litigation by asserting a patent
-    infringement claim (excluding declatory judgment actions) against
-    Initial Developer or a Contributor (the Initial Developer or
-    Contributor against whom You file such action is referred to as
-    "Participant") alleging that:
-
-    (a) such Participant's Contributor Version directly or indirectly
-    infringes any patent, then any and all rights granted by such
-    Participant to You under Sections 2.1 and/or 2.2 of this License
-    shall, upon 60 days notice from Participant terminate
-    prospectively, unless if within 60 days after receipt of notice
-    You either: (i) agree in writing to pay Participant a mutually
-    agreeable reasonable royalty for Your past and future use of
-    Modifications made by such Participant, or (ii) withdraw Your
-    litigation claim with respect to the Contributor Version against
-    such Participant.  If within 60 days of notice, a reasonable
-    royalty and payment arrangement are not mutually agreed upon in
-    writing by the parties or the litigation claim is not withdrawn,
-    the rights granted by Participant to You under Sections 2.1 and/or
-    2.2 automatically terminate at the expiration of the 60 day notice
-    period specified above.
-
-    (b) any software, hardware, or device, other than such
-    Participant's Contributor Version, directly or indirectly
-    infringes any patent, then any rights granted to You by such
-    Participant under Sections 2.1(b) and 2.2(b) are revoked effective
-    as of the date You first made, used, sold, distributed, or had
-    made, Modifications made by that Participant.
-
-    8.3.  If You assert a patent infringement claim against
-    Participant alleging that such Participant's Contributor Version
-    directly or indirectly infringes any patent where such claim is
-    resolved (such as by license or settlement) prior to the
-    initiation of patent infringement litigation, then the reasonable
-    value of the licenses granted by such Participant under Sections
-    2.1 or 2.2 shall be taken into account in determining the amount
-    or value of any payment or license.
-
-    8.4.  In the event of termination under Sections 8.1 or 8.2 above,
-    all end user license agreements (excluding distributors and
-    resellers) which have been validly granted by You or any
-    distributor hereunder prior to termination shall survive
-    termination.
-
-9. LIMITATION OF LIABILITY.
-
-    UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-    (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
-    INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
-    COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO
-    ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
-    DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES
-    FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
-    MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES,
-    EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF
-    SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO
-    LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S
-    NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
-    LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
-    LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
-    EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-    The Covered Code is a ''commercial item,'' as that term is defined
-    in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial
-    computer software'' and ''commercial computer software
-    documentation,'' as such terms are used in 48 C.F.R. 12.212
-    (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48
-    C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all
-    U.S. Government End Users acquire Covered Code with only those
-    rights set forth herein.
-
-11. MISCELLANEOUS.
-
-    This License represents the complete agreement concerning subject
-    matter hereof. If any provision of this License is held to be
-    unenforceable, such provision shall be reformed only to the extent
-    necessary to make it enforceable. This License shall be governed
-    by California law provisions (except to the extent applicable law,
-    if any, provides otherwise), excluding its conflict-of-law
-    provisions. With respect to disputes in which at least one party
-    is a citizen of, or an entity chartered or registered to do
-    business in the United States of America, any litigation relating
-    to this License shall be subject to the jurisdiction of the
-    Federal Courts of the Northern District of California, with venue
-    lying in Santa Clara County, California, with the losing party
-    responsible for costs, including without limitation, court costs
-    and reasonable attorneys' fees and expenses. The application of
-    the United Nations Convention on Contracts for the International
-    Sale of Goods is expressly excluded. Any law or regulation which
-    provides that the language of a contract shall be construed
-    against the drafter shall not apply to this License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-    As between Initial Developer and the Contributors, each party is
-    responsible for claims and damages arising, directly or
-    indirectly, out of its utilization of rights under this License
-    and You agree to work with Initial Developer and Contributors to
-    distribute such responsibility on an equitable basis. Nothing
-    herein is intended or shall be deemed to constitute any admission
-    of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
-    Initial Developer may designate portions of the Covered Code as
-    �Multiple-Licensed�.  �Multiple-Licensed� means that the Initial
-    Developer permits you to utilize portions of the Covered Code
-    under Your choice of the NPL or the alternative licenses, if any,
-    specified by the Initial Developer in the file described in
-    Exhibit A.
-
-
-EXHIBIT A -Mozilla Public License.
-
-    ``The contents of this file are subject to the Mozilla Public
-    License Version 1.1 (the "License"); you may not use this file
-    except in compliance with the License. You may obtain a copy of
-    the License at http://www.mozilla.org/MPL/
-
-    Software distributed under the License is distributed on an "AS
-    IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-    implied. See the License for the specific language governing
-    rights and limitations under the License.
-
-    The Original Code is ______________________________________.
-
-    The Initial Developer of the Original Code is
-     ________________________. Portions created by
-     ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-    Contributor(s): ______________________________________.
-
-    Alternatively, the contents of this file may be used under the
-    terms of the _____ license (the �[___] License�), in which case
-    the provisions of [______] License are applicable instead of those
-    above.  If you wish to allow use of your version of this file only
-    under the terms of the [____] License and not to allow others to
-    use your version of this file under the MPL, indicate your
-    decision by deleting the provisions above and replace them with
-    the notice and other provisions required by the [___] License.  If
-    you do not delete the provisions above, a recipient may use your
-    version of this file under either the MPL or the [___] License."
-
-    [NOTE: The text of this Exhibit A may differ slightly from the
-    text of the notices in the Source Code files of the Original
-    Code. You should use the text of this Exhibit A rather than the
-    text found in the Original Code Source Code for Your
-    Modifications.]
-============================================================================
-
-	  GNU GENERAL PUBLIC LICENSE
-	     Version 2, June 1991
-
-   Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-   Everyone is permitted to copy and distribute verbatim copies
-   of this license document, but changing it is not allowed.
-
-	    Preamble
-
-    The licenses for most software are designed to take away your
-  freedom to share and change it.  By contrast, the GNU General Public
-  License is intended to guarantee your freedom to share and change free
-  software--to make sure the software is free for all its users.  This
-  General Public License applies to most of the Free Software
-  Foundation's software and to any other program whose authors commit to
-  using it.  (Some other Free Software Foundation software is covered by
-  the GNU Lesser General Public License instead.)  You can apply it to
-  your programs, too.
-
-    When we speak of free software, we are referring to freedom, not
-  price.  Our General Public Licenses are designed to make sure that you
-  have the freedom to distribute copies of free software (and charge for
-  this service if you wish), that you receive source code or can get it
-  if you want it, that you can change the software or use pieces of it
-  in new free programs; and that you know you can do these things.
-
-    To protect your rights, we need to make restrictions that forbid
-  anyone to deny you these rights or to ask you to surrender the rights.
-  These restrictions translate to certain responsibilities for you if you
-  distribute copies of the software, or if you modify it.
-
-    For example, if you distribute copies of such a program, whether
-  gratis or for a fee, you must give the recipients all the rights that
-  you have.  You must make sure that they, too, receive or can get the
-  source code.  And you must show them these terms so they know their
-  rights.
-
-    We protect your rights with two steps: (1) copyright the software, and
-  (2) offer you this license which gives you legal permission to copy,
-  distribute and/or modify the software.
-
-    Also, for each author's protection and ours, we want to make certain
-  that everyone understands that there is no warranty for this free
-  software.  If the software is modified by someone else and passed on, we
-  want its recipients to know that what they have is not the original, so
-  that any problems introduced by others will not reflect on the original
-  authors' reputations.
-
-    Finally, any free program is threatened constantly by software
-  patents.  We wish to avoid the danger that redistributors of a free
-  program will individually obtain patent licenses, in effect making the
-  program proprietary.  To prevent this, we have made it clear that any
-  patent must be licensed for everyone's free use or not licensed at all.
-
-    The precise terms and conditions for copying, distribution and
-  modification follow.
-
-	  GNU GENERAL PUBLIC LICENSE
-     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-    0. This License applies to any program or other work which contains
-  a notice placed by the copyright holder saying it may be distributed
-  under the terms of this General Public License.  The "Program", below,
-  refers to any such program or work, and a "work based on the Program"
-  means either the Program or any derivative work under copyright law:
-  that is to say, a work containing the Program or a portion of it,
-  either verbatim or with modifications and/or translated into another
-  language.  (Hereinafter, translation is included without limitation in
-  the term "modification".)  Each licensee is addressed as "you".
-
-  Activities other than copying, distribution and modification are not
-  covered by this License; they are outside its scope.  The act of
-  running the Program is not restricted, and the output from the Program
-  is covered only if its contents constitute a work based on the
-  Program (independent of having been made by running the Program).
-  Whether that is true depends on what the Program does.
-
-    1. You may copy and distribute verbatim copies of the Program's
-  source code as you receive it, in any medium, provided that you
-  conspicuously and appropriately publish on each copy an appropriate
-  copyright notice and disclaimer of warranty; keep intact all the
-  notices that refer to this License and to the absence of any warranty;
-  and give any other recipients of the Program a copy of this License
-  along with the Program.
-
-  You may charge a fee for the physical act of transferring a copy, and
-  you may at your option offer warranty protection in exchange for a fee.
-
-    2. You may modify your copy or copies of the Program or any portion
-  of it, thus forming a work based on the Program, and copy and
-  distribute such modifications or work under the terms of Section 1
-  above, provided that you also meet all of these conditions:
-
-      a) You must cause the modified files to carry prominent notices
-      stating that you changed the files and the date of any change.
-
-      b) You must cause any work that you distribute or publish, that in
-      whole or in part contains or is derived from the Program or any
-      part thereof, to be licensed as a whole at no charge to all third
-      parties under the terms of this License.
-
-      c) If the modified program normally reads commands interactively
-      when run, you must cause it, when started running for such
-      interactive use in the most ordinary way, to print or display an
-      announcement including an appropriate copyright notice and a
-      notice that there is no warranty (or else, saying that you provide
-      a warranty) and that users may redistribute the program under
-      these conditions, and telling the user how to view a copy of this
-      License.  (Exception: if the Program itself is interactive but
-      does not normally print such an announcement, your work based on
-      the Program is not required to print an announcement.)
-
-  These requirements apply to the modified work as a whole.  If
-  identifiable sections of that work are not derived from the Program,
-  and can be reasonably considered independent and separate works in
-  themselves, then this License, and its terms, do not apply to those
-  sections when you distribute them as separate works.  But when you
-  distribute the same sections as part of a whole which is a work based
-  on the Program, the distribution of the whole must be on the terms of
-  this License, whose permissions for other licensees extend to the
-  entire whole, and thus to each and every part regardless of who wrote it.
-
-  Thus, it is not the intent of this section to claim rights or contest
-  your rights to work written entirely by you; rather, the intent is to
-  exercise the right to control the distribution of derivative or
-  collective works based on the Program.
-
-  In addition, mere aggregation of another work not based on the Program
-  with the Program (or with a work based on the Program) on a volume of
-  a storage or distribution medium does not bring the other work under
-  the scope of this License.
-
-    3. You may copy and distribute the Program (or a work based on it,
-  under Section 2) in object code or executable form under the terms of
-  Sections 1 and 2 above provided that you also do one of the following:
-
-      a) Accompany it with the complete corresponding machine-readable
-      source code, which must be distributed under the terms of Sections
-      1 and 2 above on a medium customarily used for software interchange; or,
-
-      b) Accompany it with a written offer, valid for at least three
-      years, to give any third party, for a charge no more than your
-      cost of physically performing source distribution, a complete
-      machine-readable copy of the corresponding source code, to be
-      distributed under the terms of Sections 1 and 2 above on a medium
-      customarily used for software interchange; or,
-
-      c) Accompany it with the information you received as to the offer
-      to distribute corresponding source code.  (This alternative is
-      allowed only for noncommercial distribution and only if you
-      received the program in object code or executable form with such
-      an offer, in accord with Subsection b above.)
-
-  The source code for a work means the preferred form of the work for
-  making modifications to it.  For an executable work, complete source
-  code means all the source code for all modules it contains, plus any
-  associated interface definition files, plus the scripts used to
-  control compilation and installation of the executable.  However, as a
-  special exception, the source code distributed need not include
-  anything that is normally distributed (in either source or binary
-  form) with the major components (compiler, kernel, and so on) of the
-  operating system on which the executable runs, unless that component
-  itself accompanies the executable.
-
-  If distribution of executable or object code is made by offering
-  access to copy from a designated place, then offering equivalent
-  access to copy the source code from the same place counts as
-  distribution of the source code, even though third parties are not
-  compelled to copy the source along with the object code.
-
-    4. You may not copy, modify, sublicense, or distribute the Program
-  except as expressly provided under this License.  Any attempt
-  otherwise to copy, modify, sublicense or distribute the Program is
-  void, and will automatically terminate your rights under this License.
-  However, parties who have received copies, or rights, from you under
-  this License will not have their licenses terminated so long as such
-  parties remain in full compliance.
-
-    5. You are not required to accept this License, since you have not
-  signed it.  However, nothing else grants you permission to modify or
-  distribute the Program or its derivative works.  These actions are
-  prohibited by law if you do not accept this License.  Therefore, by
-  modifying or distributing the Program (or any work based on the
-  Program), you indicate your acceptance of this License to do so, and
-  all its terms and conditions for copying, distributing or modifying
-  the Program or works based on it.
-
-    6. Each time you redistribute the Program (or any work based on the
-  Program), the recipient automatically receives a license from the
-  original licensor to copy, distribute or modify the Program subject to
-  these terms and conditions.  You may not impose any further
-  restrictions on the recipients' exercise of the rights granted herein.
-  You are not responsible for enforcing compliance by third parties to
-  this License.
-
-    7. If, as a consequence of a court judgment or allegation of patent
-  infringement or for any other reason (not limited to patent issues),
-  conditions are imposed on you (whether by court order, agreement or
-  otherwise) that contradict the conditions of this License, they do not
-  excuse you from the conditions of this License.  If you cannot
-  distribute so as to satisfy simultaneously your obligations under this
-  License and any other pertinent obligations, then as a consequence you
-  may not distribute the Program at all.  For example, if a patent
-  license would not permit royalty-free redistribution of the Program by
-  all those who receive copies directly or indirectly through you, then
-  the only way you could satisfy both it and this License would be to
-  refrain entirely from distribution of the Program.
-
-  If any portion of this section is held invalid or unenforceable under
-  any particular circumstance, the balance of the section is intended to
-  apply and the section as a whole is intended to apply in other
-  circumstances.
-
-  It is not the purpose of this section to induce you to infringe any
-  patents or other property right claims or to contest validity of any
-  such claims; this section has the sole purpose of protecting the
-  integrity of the free software distribution system, which is
-  implemented by public license practices.  Many people have made
-  generous contributions to the wide range of software distributed
-  through that system in reliance on consistent application of that
-  system; it is up to the author/donor to decide if he or she is willing
-  to distribute software through any other system and a licensee cannot
-  impose that choice.
-
-  This section is intended to make thoroughly clear what is believed to
-  be a consequence of the rest of this License.
-
-    8. If the distribution and/or use of the Program is restricted in
-  certain countries either by patents or by copyrighted interfaces, the
-  original copyright holder who places the Program under this License
-  may add an explicit geographical distribution limitation excluding
-  those countries, so that distribution is permitted only in or among
-  countries not thus excluded.  In such case, this License incorporates
-  the limitation as if written in the body of this License.
-
-    9. The Free Software Foundation may publish revised and/or new versions
-  of the General Public License from time to time.  Such new versions will
-  be similar in spirit to the present version, but may differ in detail to
-  address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the Program
-  specifies a version number of this License which applies to it and "any
-  later version", you have the option of following the terms and conditions
-  either of that version or of any later version published by the Free
-  Software Foundation.  If the Program does not specify a version number of
-  this License, you may choose any version ever published by the Free Software
-  Foundation.
-
-    10. If you wish to incorporate parts of the Program into other free
-  programs whose distribution conditions are different, write to the author
-  to ask for permission.  For software which is copyrighted by the Free
-  Software Foundation, write to the Free Software Foundation; we sometimes
-  make exceptions for this.  Our decision will be guided by the two goals
-  of preserving the free status of all derivatives of our free software and
-  of promoting the sharing and reuse of software generally.
-
-	    NO WARRANTY
-
-    11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-  FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-  OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-  PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-  OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-  TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-  PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-  REPAIR OR CORRECTION.
-
-    12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-  REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-  INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-  OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-  TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-  YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-  PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGES.
-
-	   END OF TERMS AND CONDITIONS
-
-	How to Apply These Terms to Your New Programs
-
-    If you develop a new program, and you want it to be of the greatest
-  possible use to the public, the best way to achieve this is to make it
-  free software which everyone can redistribute and change under these terms.
-
-    To do so, attach the following notices to the program.  It is safest
-  to attach them to the start of each source file to most effectively
-  convey the exclusion of warranty; and each file should have at least
-  the "copyright" line and a pointer to where the full notice is found.
-
-      <one line to give the program's name and a brief idea of what it does.>
-      Copyright (C) <year>  <name of author>
-
-      This program is free software; you can redistribute it and/or modify
-      it under the terms of the GNU General Public License as published by
-      the Free Software Foundation; either version 2 of the License, or
-      (at your option) any later version.
-
-      This program is distributed in the hope that it will be useful,
-      but WITHOUT ANY WARRANTY; without even the implied warranty of
-      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-      GNU General Public License for more details.
-
-      You should have received a copy of the GNU General Public License along
-      with this program; if not, write to the Free Software Foundation, Inc.,
-      51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-  Also add information on how to contact you by electronic and paper mail.
-
-  If the program is interactive, make it output a short notice like this
-  when it starts in an interactive mode:
-
-      Gnomovision version 69, Copyright (C) year name of author
-      Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-      This is free software, and you are welcome to redistribute it
-      under certain conditions; type `show c' for details.
-
-  The hypothetical commands `show w' and `show c' should show the appropriate
-  parts of the General Public License.  Of course, the commands you use may
-  be called something other than `show w' and `show c'; they could even be
-  mouse-clicks or menu items--whatever suits your program.
-
-  You should also get your employer (if you work as a programmer) or your
-  school, if any, to sign a "copyright disclaimer" for the program, if
-  necessary.  Here is a sample; alter the names:
-
-    Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-    `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-    <signature of Ty Coon>, 1 April 1989
-    Ty Coon, President of Vice
-
-  This General Public License does not permit incorporating your program into
-  proprietary programs.  If your program is a subroutine library, you may
-  consider it more useful to permit linking proprietary applications with the
-  library.  If this is what you want to do, use the GNU Lesser General
-  Public License instead of this License.
-============================================================================
-
-------------------
-
-Files: kotlinc/lib/kotlin-compiler.jar
-
-The MIT License
-
-Copyright (c) 2003, Kohsuke Kawaguchi
-
-Permission 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.
-
-------------------
-
-Files: 
-
-
- ASM: a very small and fast Java bytecode manipulation framework
- Copyright (c) 2000-2005 INRIA, France Telecom
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
- 3. Neither the name of the copyright holders nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.
-
-------------------
-
-Files:
-
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-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, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-
-------------------
-
-Files:
-
-Eclipse Public License, Version 1.0 (EPL-1.0)
-
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
-LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
-CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-1. DEFINITIONS
-
-"Contribution" means:
-
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
-    b) in the case of each subsequent Contributor:
-        i) changes to the Program, and
-        ii) additions to the Program;
-
-where such changes and/or additions to the Program originate from and are
-distributed by that particular Contributor. A Contribution 'originates'
-from a Contributor if it was added to the Program by such Contributor itself
-or anyone acting on such Contributor's behalf. Contributions do not include
-additions to the Program which: (i) are separate modules of software
-distributed in conjunction with the Program under their own license agreement,
-and (ii) are not derivative works of the Program.
-
-"Contributor" means any person or entity that distributes the Program.
-
-"Licensed Patents " mean patent claims licensable by a Contributor which are
-necessarily infringed by the use or sale of its Contribution alone or
-when combined with the Program.
-
-"Program" means the Contributions distributed in accordance with
-this Agreement.
-
-"Recipient" means anyone who receives the Program under this Agreement,
-including all Contributors.
-
-2. GRANT OF RIGHTS
-
-    a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license to
-       reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works,
-       in source code and object code form.
-
-    b) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any,
-       in source code and object code form. This patent license shall apply
-       to the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the
-       Licensed Patents. The patent license shall not apply to any other
-       combinations which include the Contribution.
-       No hardware per se is licensed hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity.
-       Each Contributor disclaims any liability to Recipient for claims
-       brought by any other entity based on infringement of intellectual
-       property rights or otherwise. As a condition to exercising the
-       rights and licenses granted hereunder, each Recipient hereby assumes
-       sole responsibility to secure any other intellectual property rights
-       needed, if any. For example, if a third party patent license is
-       required to allow Recipient to distribute the Program, it is
-       Recipient's responsibility to acquire that license
-       before distributing the Program.
-
-    d) Each Contributor represents that to its knowledge it has sufficient
-       copyright rights in its Contribution, if any, to grant the copyright
-       license set forth in this Agreement.
-
-3. REQUIREMENTS
-
-A Contributor may choose to distribute the Program in object code form under
-its own license agreement, provided that:
-
-    a) it complies with the terms and conditions of this Agreement; and
-
-    b) its license agreement:
-
-        i) effectively disclaims on behalf of all Contributors all warranties
-        and conditions, express and implied, including warranties or
-        conditions of title and non-infringement, and implied warranties or
-        conditions of merchantability and fitness for a particular purpose;
-
-        ii) effectively excludes on behalf of all Contributors all liability
-        for damages, including direct, indirect, special, incidental and
-        consequential damages, such as lost profits;
-
-        iii) states that any provisions which differ from this Agreement are
-        offered by that Contributor alone and not by any other party; and
-
-        iv) states that source code for the Program is available from such
-        Contributor, and informs licensees how to obtain it in a reasonable
-        manner on or through a medium customarily used for software exchange.
-
-When the Program is made available in source code form:
-
-    a) it must be made available under this Agreement; and
-    b) a copy of this Agreement must be included with each copy of the Program.
-
-Contributors may not remove or alter any copyright notices contained
-within the Program.
-
-Each Contributor must identify itself as the originator of its Contribution,
-if any, in a manner that reasonably allows subsequent Recipients to
-identify the originator of the Contribution.
-
-4. COMMERCIAL DISTRIBUTION
-
-Commercial distributors of software may accept certain responsibilities with
-respect to end users, business partners and the like. While this license is
-intended to facilitate the commercial use of the Program, the Contributor who
-includes the Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors. Therefore,
-if a Contributor includes the Program in a commercial product offering,
-such Contributor ("Commercial Contributor") hereby agrees to defend and
-indemnify every other Contributor ("Indemnified Contributor") against any
-losses, damages and costs (collectively "Losses") arising from claims,
-lawsuits and other legal actions brought by a third party against the
-Indemnified Contributor to the extent caused by the acts or omissions of
-such Commercial Contributor in connection with its distribution of the Program
-in a commercial product offering. The obligations in this section do not apply
-to any claims or Losses relating to any actual or alleged intellectual
-property infringement. In order to qualify, an Indemnified Contributor must:
-a) promptly notify the Commercial Contributor in writing of such claim,
-and b) allow the Commercial Contributor to control, and cooperate with the
-Commercial Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any such
-claim at its own expense.
-
-For example, a Contributor might include the Program in a commercial product
-offering, Product X. That Contributor is then a Commercial Contributor.
-If that Commercial Contributor then makes performance claims, or offers
-warranties related to Product X, those performance claims and warranties
-are such Commercial Contributor's responsibility alone. Under this section,
-the Commercial Contributor would have to defend claims against the other
-Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result,
-the Commercial Contributor must pay those damages.
-
-5. NO WARRANTY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
-IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
-NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-Each Recipient is solely responsible for determining the appropriateness of
-using and distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to the
-risks and costs of program errors, compliance with applicable laws, damage to
-or loss of data, programs or equipment, and unavailability
-or interruption of operations.
-
-6. DISCLAIMER OF LIABILITY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
-CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
-LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-7. GENERAL
-
-If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of the
-remainder of the terms of this Agreement, and without further action by
-the parties hereto, such provision shall be reformed to the minimum extent
-necessary to make such provision valid and enforceable.
-
-If Recipient institutes patent litigation against any entity (including a
-cross-claim or counterclaim in a lawsuit) alleging that the Program itself
-(excluding combinations of the Program with other software or hardware)
-infringes such Recipient's patent(s), then such Recipient's rights granted
-under Section 2(b) shall terminate as of the date such litigation is filed.
-
-All Recipient's rights under this Agreement shall terminate if it fails to
-comply with any of the material terms or conditions of this Agreement and
-does not cure such failure in a reasonable period of time after becoming
-aware of such noncompliance. If all Recipient's rights under this
-Agreement terminate, Recipient agrees to cease use and distribution of the
-Program as soon as reasonably practicable. However, Recipient's obligations
-under this Agreement and any licenses granted by Recipient relating to the
-Program shall continue and survive.
-
-Everyone is permitted to copy and distribute copies of this Agreement,
-but in order to avoid inconsistency the Agreement is copyrighted and may
-only be modified in the following manner. The Agreement Steward reserves
-the right to publish new versions (including revisions) of this Agreement
-from time to time. No one other than the Agreement Steward has the right to
-modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version
-of the Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly
-stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
-licenses to the intellectual property of any Contributor under this Agreement,
-whether expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are reserved.
-
-This Agreement is governed by the laws of the State of New York and the
-intellectual property laws of the United States of America. No party to
-this Agreement will bring a legal action under this Agreement more than one
-year after the cause of action arose. Each party waives its rights to a
-jury trial in any resulting litigation.
-
-------------------
-
-Files:
-
-Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-
-Developed at SunSoft, a Sun Microsystems, Inc. business.
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice 
-is preserved.
-
-SafeParcelable library:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-apksig:
-
-
-   Copyright (c) 2005-2008, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-Kotlin coroutines:
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-kotlinx_atomicfu:
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
- -
-play-services-tflite-java -homepage - -
-
Terms and conditions
-
-This is the Android Software Development Kit License Agreement
-
-1. Introduction
-
-1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
-
-1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
-
-1.3 A "compatible implementation" means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS).
-
-1.4 "Google" means Google LLC, a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-
-2. Accepting this License Agreement
-
-2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of the License Agreement.
-
-2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK.
-
-2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
-
-
-3. SDK License from Google
-
-3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android.
-
-3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose.
-
-3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
-
-3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement.  Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK.
-
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement.
-
-3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
-
-3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
-
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
-
-
-4. Use of the SDK by You
-
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
-
-4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
-
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
-
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
-
-
-5. Your Developer Credentials
-
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
-
-
-6. Privacy and Information
-
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
-
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
-
-
-7. Third Party Applications
-
-7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
-
-7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
-
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, the License Agreement does not affect your legal relationship with these third parties.
-
-
-8. Using Android APIs
-
-8.1 Google Data APIs
-
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
-
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
-
-
-9. Terminating this License Agreement
-
-9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
-
-9.3 Google may at any time, terminate the License Agreement with you if:
-(A) you have breached any provision of the License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When the License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst the License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
-
-
-10. DISCLAIMER OF WARRANTIES
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
-
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-
-
-11. LIMITATION OF LIABILITY
-
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-
-12. Indemnification
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with the License Agreement.
-
-
-13. Changes to the License Agreement
-
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
-
-
-14. General Legal Terms
-
-14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
-
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in the License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under the License Agreement without the prior written approval of the other party.
-
-14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
-
-
-December 9, 2016
-
-
-Android SDK:
-
-ANDROID SOFTWARE DEVELOPMENT KIT
-
-Terms and Conditions
-
-This is the Android Software Development Kit License Agreement.
-
-1. Introduction
-
-1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and
-specifically including the Android system files, packaged APIs, and Google APIs add-ons) is
-licensed to you subject to the terms of this License Agreement. This License Agreement forms a
-legally binding contract between you and Google in relation to your use of the SDK.
-
-1.2 "Google" means Google LLC, a Delaware company with principal place of business at 1600
-Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-2. Accepting this License Agreement
-
-2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the
-SDK if you do not accept this License Agreement.
-
-2.2 You can accept this License Agreement by:
-
-(A) clicking to accept or agree to this License Agreement, where this option is made available to
-you; or
-
-(B) by actually using the SDK. In this case, you agree that use of the SDK constitutes acceptance of
-the Licensing Agreement from that point onwards.
-
-2.3 You may not use the SDK and may not accept the Licensing Agreement if you are a person barred
-from receiving the SDK under the laws of the United States or other countries including the country
-in which you are resident or from which you use the SDK.
-
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other
-entity, you represent and warrant that you have full legal authority to bind your employer or such
-entity to this License Agreement. If you do not have the requisite authority, you may not accept
-the Licensing Agreement or use the SDK on behalf of your employer or other entity.
-
-3. SDK License from Google
-
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide,
-royalty-free, non- assignable and non-exclusive license to use the SDK solely to develop
-applications to run on the Android platform.
-
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the
-SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property
-Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law,
-and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
-
-3.3 Except to the extent required by applicable third party licenses, you may not copy (except for
-backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create
-derivative works of the SDK or any part of the SDK. Except to the extent required by applicable
-third party licenses, you may not load any part of the SDK onto a mobile handset or any other
-hardware device except a personal computer, combine any part of the SDK with other software, or
-distribute any software or device incorporating a part of the SDK.
-
-3.4 Use, reproduction and distribution of components of the SDK licensed under an open source
-software license are governed solely by the terms of that open source software license and not
-this License Agreement.
-
-3.5 You agree that the form and nature of the SDK that Google provides may change without prior
-notice to you and that future versions of the SDK may be incompatible with applications developed
-on previous versions of the SDK. You agree that Google may stop (permanently or temporarily)
-providing the SDK (or any features within the SDK) to you or to users generally at Google's sole
-discretion, without prior notice to you.
-
-3.6 Nothing in this License Agreement gives you a right to use any of Google's trade names,
-trademarks, service marks, logos, domain names, or other distinctive brand features.
-
-3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including
-copyright and trademark notices) that may be affixed to or contained within the SDK.
-
-4. Use of the SDK by You
-
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under
-this License Agreement in or to any software applications that you develop using the SDK, including
-any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this
-License Agreement and (b) any applicable law, regulation or generally accepted practices or
-guidelines in the relevant jurisdictions (including any laws regarding the export of data or
-software to and from the United States or other relevant countries).
-
-4.3 You agree that if you use the SDK to develop applications for general public users, you will
-protect the privacy and legal rights of those users. If the users provide you with user names,
-passwords, or other login information or personal information, your must make the users aware that
-the information will be available to your application, and you must provide legally adequate privacy
-notice and protection for those users. If your application stores personal or sensitive information
-provided by users, it must do so securely. If the user provides your application with Google Account
-information, your application may only use that information to access the user's Google Account
-when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or
-distribution of an application, that interferes with, disrupts, damages, or accesses in an
-unauthorized manner the servers, networks, or other properties or services of any third party
-including, but not limited to, Google or any mobile communications carrier.
-
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or
-to any third party for) any data, content, or resources that you create, transmit or display through
-the Android platform and/or applications for the Android platform, and for the consequences of your
-actions (including any loss or damage which Google may suffer) by doing so.
-
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or
-to any third party for) any breach of your obligations under this License Agreement, any applicable
-third party contract or Terms of Service, or any applicable law or regulation, and for the
-consequences (including any loss or damage which Google or any third party may suffer) of any such
-breach.
-
-5. Your Developer Credentials
-
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer
-credentials that may be issued to you by Google or which you may choose yourself and that you will
-be solely responsible for all applications that are developed under your developer credentials.
-
-6. Privacy and Information
-
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage
-statistics from the software including but not limited to a unique identifier, associated IP
-address, version number of the software, and information on which tools and/or services in the SDK
-are being used and how they are being used. Before any of this information is collected, the SDK
-will notify you and seek your consent. If you withhold consent, the information will not be
-collected.
-
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in
-accordance with Google's Privacy Policy.
-
-7. Third Party Applications for the Android Platform
-
-7.1 If you use the SDK to run applications developed by a third party or that access data, content
-or resources provided by a third party, you agree that Google is not responsible for those
-applications, data, content, or resources. You understand that all data, content or resources which
-you may access through such third party applications are the sole responsibility of the person from
-which they originated and that Google is not liable for any loss or damage that you may experience
-as a result of the use or access of any of those third party applications, data, content, or
-resources.
-
-7.2 You should be aware the data, content, and resources presented to you through such a third party
-application may be protected by intellectual property rights which are owned by the providers (or by
-other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute
-or create derivative works based on these data, content, or resources (either in whole or in part)
-unless you have been specifically given permission to do so by the relevant owners.
-
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may
-be subject to separate terms between you and the relevant third party. In that case, this License
-Agreement does not affect your legal relationship with these third parties.
-
-8. Using Android APIs
-
-8.1 Google Data APIs
-
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be
-protected by intellectual property rights which are owned by Google or those parties that provide
-the data (or by other persons or companies on their behalf). Your use of any such API may be subject
-to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create
-derivative works based on this data (either in whole or in part) unless allowed by the relevant
-Terms of Service.
-
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you
-shall retrieve data only with the user's explicit consent and only when, and for the limited
-purposes for which, the user has given you permission to do so.
-
-9. Terminating this License Agreement
-
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set
-out below.
-
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK
-and any relevant developer credentials.
-
-9.3 Google may at any time, terminate this License Agreement with you if:
-
-(A) you have breached any provision of this License Agreement; or
-
-(B) Google is required to do so by law; or
-
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated
-its relationship with Google or ceased to offer certain parts of the SDK to you; or
-
-(D) Google decides to no longer providing the SDK or certain parts of the SDK to users in the
-country in which you are resident or from which you use the service, or the provision of the SDK or
-certain SDK services to you by Google is, in Google's sole discretion, no longer commercially
-viable.
-
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and
-liabilities that you and Google have benefited from, been subject to (or which have accrued over
-time whilst this License Agreement has been in force) or which are expressed to continue
-indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall
-continue to apply to such rights, obligations and liabilities indefinitely.
-
-10. DISCLAIMER OF WARRANTIES
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE
-SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE
-SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR
-COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
-
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-
-11. LIMITATION OF LIABILITY
-
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS
-LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY
-LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN
-AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-12. Indemnification
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless
-Google, its affiliates and their respective directors, officers, employees and agents from and
-against any and all claims, actions, suits or proceedings, as well as any and all losses,
-liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or
-accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any
-copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any
-person or defames any person or violates their rights of publicity or privacy, and (c) any
-non-compliance by you with this License Agreement.
-
-13. Changes to the License Agreement
-
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK.
-When these changes are made, Google will make a new version of the License Agreement available on
-the website where the SDK is made available.
-
-14. General Legal Terms
-
-14.1 This License Agreement constitute the whole legal agreement between you and Google and govern
-your use of the SDK (excluding any services which Google may provide to you under a separate written
-agreement), and completely replace any prior agreements between you and Google in relation to the
-SDK.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is
-contained in this License Agreement (or which Google has the benefit of under any applicable law),
-this will not be taken to be a formal waiver of Google's rights and that those rights or remedies
-will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision
-of this License Agreement is invalid, then that provision will be removed from this License
-Agreement without affecting the rest of this License Agreement. The remaining provisions of this
-License Agreement will continue to be valid and enforceable.
-
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the
-parent shall be third party beneficiaries to this License Agreement and that such other companies
-shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that
-confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall
-be third party beneficiaries to this License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST
-COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE
-LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you
-or Google without the prior written approval of the other party. Neither you nor Google shall be
-permitted to delegate their responsibilities or obligations under this License Agreement without the
-prior written approval of the other party.
-
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall
-be governed by the laws of the State of California without regard to its conflict of laws
-provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located
-within the county of Santa Clara, California to resolve any legal matter arising from this License
-Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for
-injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
-
-April 10, 2009
-
-
-AndroidX activity library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX annotation experimental library:
-
-
- Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-AndroidX annotation library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX architecture core common library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-AndroidX architecture core runtime library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-AndroidX asynclayoutinflater library:
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX collection jvm library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX concurrent futures library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX coordinatorlayout library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX core ktx library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX core library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX cursoradapter library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX customview library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX documentfile library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX drawerlayout library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX fragment library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX interpolator library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-AndroidX legacy coreui library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX legacy coreutils library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX legacy v4 library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX lifecycle common library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-AndroidX lifecycle livedatacore library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-AndroidX lifecycle runtime library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-AndroidX lifecycle viewmodel library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-AndroidX lifecycle viewmodel savedstate library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-AndroidX loader library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX localbroadcastmanager library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-AndroidX media base library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX print library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX savedstate library:
-
-Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-AndroidX swiperefreshlayout library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX tracing library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-AndroidX versionedparcelable library:
-
-
-   Copyright (c) 2005-2018, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-AndroidX viewpager library:
-
-
-   Copyright (c) 2005-2011, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-Animal Sniffer:
-
-The MIT License
-
-Copyright (c) 2008 Kohsuke Kawaguchi and codehaus.org.
-
-Permission 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.
-
-
-Checker Framework Annotations:
-
-A few parts of the Checker Framework have more permissive licenses.
-
- * The annotations are licensed under the MIT License.  (The text of this
-   license appears below.)  More specifically, all the parts of the Checker
-   Framework that you might want to include with your own program use the
-   MIT License.  This is the checker-qual.jar file and all the files that
-   appear in it:  every file in a qual/ directory, plus utility files such
-   as NullnessUtil.java, RegexUtil.java, SignednessUtil.java, etc.
-   In addition, the cleanroom implementations of third-party annotations,
-   which the Checker Framework recognizes as aliases for its own
-   annotations, are licensed under the MIT License.
-
-===========================================================================
-
-MIT License:
-
-Permission 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.
-
-===========================================================================
-
-
-Error Prone:
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-Google Auto:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-Guava JDK5:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-Guava JDK7:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-   
-
-
-J2ObjC:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
---------------------------------------------------------------------------------
-The next section, BSD-3-Clause, applies to the files in:
-jre_emul/android/platform/libcore/ojluni/src/main/java/java/time
---------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice,
-  this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
-  this list of conditions and the following disclaimer in the documentation
-  and/or other materials provided with the distribution.
-
-* Neither the name of JSR-310 nor the names of its contributors
-  may be used to endorse or promote products derived from this software
-  without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-JSR 250:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-JSR 305:
-
-Copyright (c) 2007-2009, JSR305 expert group
-All rights reserved.
-
-http://www.opensource.org/licenses/bsd-license.php
-
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, 
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, 
-      this list of conditions and the following disclaimer in the documentation 
-      and/or other materials provided with the distribution.
-    * Neither the name of the JSR305 expert group nor the names of its 
-      contributors may be used to endorse or promote products derived from 
-      this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
-POSSIBILITY OF SUCH DAMAGE.
-
-
-JSpecify:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-JsInterop Annotations:
-
-Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2017 Google Inc.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Kotlin:
-
-Files: kotlinc/*
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2000-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-------------------
-
-Files: kotlinc/lib/trove4j.jar
-
-
-          GNU LESSER GENERAL PUBLIC LICENSE
-               Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-          GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-             END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
-------------------
-
-Files:
-
-The version of Rhino used in GWT is licensed under a dual license,
-Netscape Public License 1.1 / GNU General Public License.
-The text of the Netscape Public License
-is provided below (http://website-archive.mozilla.org/www.mozilla.org/mpl/MPL/NPL/1.1/):
-
-AMENDMENTS
-
-The Netscape Public License Version 1.1 ("NPL") consists of the
-Mozilla Public License Version 1.1 with the following Amendments,
-including Exhibit A-Netscape Public License.  Files identified with
-"Exhibit A-Netscape Public License" are governed by the Netscape
-Public License Version 1.1.
-
-Additional Terms applicable to the Netscape Public License.
-
-    I. Effect.
-
-       These additional terms described in this Netscape Public
-       License -- Amendments shall apply to the Mozilla Communicator
-       client code and to all Covered Code under this License.
-
-   II. ''Netscape's Branded Code'' means Covered Code that Netscape
-       distributes and/or permits others to distribute under one or
-       more trademark(s) which are controlled by Netscape but which
-       are not licensed for use under this License.
-
-  III. Netscape and logo.
-
-       This License does not grant any rights to use the trademarks
-       "Netscape'', the "Netscape N and horizon'' logo or the
-       "Netscape lighthouse" logo, "Netcenter", "Gecko", "Java" or
-       "JavaScript", "Smart Browsing" even if such marks are included
-       in the Original Code or Modifications.
-
-   IV. Inability to Comply Due to Contractual Obligation.
-
-       Prior to licensing the Original Code under this License,
-       Netscape has licensed third party code for use in Netscape's
-       Branded Code. To the extent that Netscape is limited
-       contractually from making such third party code available under
-       this License, Netscape may choose to reintegrate such code into
-       Covered Code without being required to distribute such code in
-       Source Code form, even if such code would otherwise be
-       considered ''Modifications'' under this License.
-
-    V. Use of Modifications and Covered Code by Initial Developer.
-
-        V.1. In General.
-
-             The obligations of Section 3 apply to Netscape, except to
-             the extent specified in this Amendment, Section V.2 and
-             V.3.
-
-        V.2. Other Products.
-
-             Netscape may include Covered Code in products other than
-             the Netscape's Branded Code which are released by
-             Netscape during the two (2) years following the release
-             date of the Original Code, without such additional
-             products becoming subject to the terms of this License,
-             and may license such additional products on different
-             terms from those contained in this License.
-
-        V.3. Alternative Licensing.
-
-             Netscape may license the Source Code of Netscape's
-             Branded Code, including Modifications incorporated
-             therein, without such Netscape Branded Code becoming
-             subject to the terms of this License, and may license
-             such Netscape Branded Code on different terms from those
-             contained in this License.
-
-    VI. Litigation.
-
-        Notwithstanding the limitations of Section 11 above, the
-        provisions regarding litigation in Section 11(a), (b) and (c)
-        of the License shall apply to all disputes relating to this
-        License.
-
-
-EXHIBIT A-Netscape Public License.
-
-
-    ''The contents of this file are subject to the Netscape Public
-    License Version 1.1 (the "License"); you may not use this file
-    except in compliance with the License. You may obtain a copy of
-    the License at http://www.mozilla.org/NPL/
-
-    Software distributed under the License is distributed on an "AS
-    IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-    implied. See the License for the specific language governing
-    rights and limitations under the License.
-
-    The Original Code is Mozilla Communicator client code, released
-    March 31, 1998.
-
-    The Initial Developer of the Original Code is Netscape
-    Communications Corporation. Portions created by Netscape are
-    Copyright (C) 1998-1999 Netscape Communications Corporation. All
-    Rights Reserved.
-
-    Contributor(s): ______________________________________.
-
-
-    Alternatively, the contents of this file may be used under the
-    terms of the _____ license (the �[___] License�), in which case
-    the provisions of [______] License are applicable instead of those
-    above.  If you wish to allow use of your version of this file only
-    under the terms of the [____] License and not to allow others to
-    use your version of this file under the NPL, indicate your
-    decision by deleting the provisions above and replace them with
-    the notice and other provisions required by the [___] License.  If
-    you do not delete the provisions above, a recipient may use your
-    version of this file under either the NPL or the [___] License."
-
-
-----------------------
-
-MOZILLA PUBLIC LICENSE
-Version 1.1
-
-1. Definitions.
-
-    1.0.1. "Commercial Use" means distribution or otherwise making the
-    Covered Code available to a third party.
-
-    1.1. ''Contributor'' means each entity that creates or contributes
-    to the creation of Modifications.
-
-    1.2. ''Contributor Version'' means the combination of the Original
-    Code, prior Modifications used by a Contributor, and the
-    Modifications made by that particular Contributor.
-
-    1.3. ''Covered Code'' means the Original Code or Modifications or
-    the combination of the Original Code and Modifications, in each
-    case including portions thereof.
-
-    1.4. ''Electronic Distribution Mechanism'' means a mechanism
-    generally accepted in the software development community for the
-    electronic transfer of data.
-
-    1.5. ''Executable'' means Covered Code in any form other than Source Code.
-
-    1.6. ''Initial Developer'' means the individual or entity
-    identified as the Initial Developer in the Source Code notice
-    required by Exhibit A.
-
-    1.7. ''Larger Work'' means a work which combines Covered Code or
-    portions thereof with code not governed by the terms of this
-    License.
-
-    1.8. ''License'' means this document.
-
-    1.8.1. "Licensable" means having the right to grant, to the
-    maximum extent possible, whether at the time of the initial grant
-    or subsequently acquired, any and all of the rights conveyed
-    herein.
-
-    1.9. ''Modifications'' means any addition to or deletion from the
-    substance or structure of either the Original Code or any previous
-    Modifications. When Covered Code is released as a series of files,
-    a Modification is:
-
-        A. Any addition to or deletion from the contents of a file
-        containing Original Code or previous Modifications.
-
-        B. Any new file that contains any part of the Original Code or
-        previous Modifications.
-
-    1.10. ''Original Code'' means Source Code of computer software
-    code which is described in the Source Code notice required by
-    Exhibit A as Original Code, and which, at the time of its release
-    under this License is not already Covered Code governed by this
-    License.
-
-    1.10.1. "Patent Claims" means any patent claim(s), now owned or
-    hereafter acquired, including without limitation, method, process,
-    and apparatus claims, in any patent Licensable by grantor.
-
-    1.11. ''Source Code'' means the preferred form of the Covered Code
-    for making modifications to it, including all modules it contains,
-    plus any associated interface definition files, scripts used to
-    control compilation and installation of an Executable, or source
-    code differential comparisons against either the Original Code or
-    another well known, available Covered Code of the Contributor's
-    choice. The Source Code can be in a compressed or archival form,
-    provided the appropriate decompression or de-archiving software is
-    widely available for no charge.
-
-    1.12. "You'' (or "Your") means an individual or a legal entity
-    exercising rights under, and complying with all of the terms of,
-    this License or a future version of this License issued under
-    Section 6.1. For legal entities, "You'' includes any entity which
-    controls, is controlled by, or is under common control with
-    You. For purposes of this definition, "control'' means (a) the
-    power, direct or indirect, to cause the direction or management of
-    such entity, whether by contract or otherwise, or (b) ownership of
-    more than fifty percent (50%) of the outstanding shares or
-    beneficial ownership of such entity.
-
-2. Source Code License.
-
-    2.1. The Initial Developer Grant.
-
-    The Initial Developer hereby grants You a world-wide,
-    royalty-free, non-exclusive license, subject to third party
-    intellectual property claims:
-
-        (a) under intellectual property rights (other than patent or
-        trademark) Licensable by Initial Developer to use, reproduce,
-        modify, display, perform, sublicense and distribute the
-        Original Code (or portions thereof) with or without
-        Modifications, and/or as part of a Larger Work; and
-
-        (b) under Patents Claims infringed by the making, using or
-        selling of Original Code, to make, have made, use, practice,
-        sell, and offer for sale, and/or otherwise dispose of the
-        Original Code (or portions thereof).
-
-        (c) the licenses granted in this Section 2.1(a) and (b) are
-        effective on the date Initial Developer first distributes
-        Original Code under the terms of this License.
-
-        (d) Notwithstanding Section 2.1(b) above, no patent license is
-        granted: 1) for code that You delete from the Original Code;
-        2) separate from the Original Code; or 3) for infringements
-        caused by: i) the modification of the Original Code or ii) the
-        combination of the Original Code with other software or
-        devices.
-
-    2.2. Contributor Grant.
-
-    Subject to third party intellectual property claims, each
-    Contributor hereby grants You a world-wide, royalty-free,
-    non-exclusive license
-
-        (a) under intellectual property rights (other than patent or
-        trademark) Licensable by Contributor, to use, reproduce,
-        modify, display, perform, sublicense and distribute the
-        Modifications created by such Contributor (or portions
-        thereof) either on an unmodified basis, with other
-        Modifications, as Covered Code and/or as part of a Larger
-        Work; and
-
-        (b) under Patent Claims infringed by the making, using, or
-        selling of Modifications made by that Contributor either alone
-        and/or in combination with its Contributor Version (or
-        portions of such combination), to make, use, sell, offer for
-        sale, have made, and/or otherwise dispose of: 1) Modifications
-        made by that Contributor (or portions thereof); and 2) the
-        combination of Modifications made by that Contributor with its
-        Contributor Version (or portions of such combination).
-
-        (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-        effective on the date Contributor first makes Commercial Use
-        of the Covered Code.
-
-        (d) Notwithstanding Section 2.2(b) above, no patent license is
-        granted: 1) for any code that Contributor has deleted from the
-        Contributor Version; 2) separate from the Contributor Version;
-        3) for infringements caused by: i) third party modifications
-        of Contributor Version or ii) the combination of Modifications
-        made by that Contributor with other software (except as part
-        of the Contributor Version) or other devices; or 4) under
-        Patent Claims infringed by Covered Code in the absence of
-        Modifications made by that Contributor.
-
-
-3. Distribution Obligations.
-
-    3.1. Application of License.
-
-    The Modifications which You create or to which You contribute are
-    governed by the terms of this License, including without
-    limitation Section 2.2. The Source Code version of Covered Code
-    may be distributed only under the terms of this License or a
-    future version of this License released under Section 6.1, and You
-    must include a copy of this License with every copy of the Source
-    Code You distribute. You may not offer or impose any terms on any
-    Source Code version that alters or restricts the applicable
-    version of this License or the recipients' rights
-    hereunder. However, You may include an additional document
-    offering the additional rights described in Section 3.5.
-
-    3.2. Availability of Source Code.
-
-    Any Modification which You create or to which You contribute must
-    be made available in Source Code form under the terms of this
-    License either on the same media as an Executable version or via
-    an accepted Electronic Distribution Mechanism to anyone to whom
-    you made an Executable version available; and if made available
-    via Electronic Distribution Mechanism, must remain available for
-    at least twelve (12) months after the date it initially became
-    available, or at least six (6) months after a subsequent version
-    of that particular Modification has been made available to such
-    recipients. You are responsible for ensuring that the Source Code
-    version remains available even if the Electronic Distribution
-    Mechanism is maintained by a third party.
-
-    3.3. Description of Modifications.
-
-    You must cause all Covered Code to which You contribute to contain
-    a file documenting the changes You made to create that Covered
-    Code and the date of any change. You must include a prominent
-    statement that the Modification is derived, directly or
-    indirectly, from Original Code provided by the Initial Developer
-    and including the name of the Initial Developer in (a) the Source
-    Code, and (b) in any notice in an Executable version or related
-    documentation in which You describe the origin or ownership of the
-    Covered Code.
-
-    3.4. Intellectual Property Matters
-
-        (a) Third Party Claims.
-
-        If Contributor has knowledge that a license under a third
-        party's intellectual property rights is required to exercise
-        the rights granted by such Contributor under Sections 2.1 or
-        2.2, Contributor must include a text file with the Source Code
-        distribution titled "LEGAL'' which describes the claim and the
-        party making the claim in sufficient detail that a recipient
-        will know whom to contact. If Contributor obtains such
-        knowledge after the Modification is made available as
-        described in Section 3.2, Contributor shall promptly modify
-        the LEGAL file in all copies Contributor makes available
-        thereafter and shall take other steps (such as notifying
-        appropriate mailing lists or newsgroups) reasonably calculated
-        to inform those who received the Covered Code that new
-        knowledge has been obtained.
-
-        (b) Contributor APIs.
-
-        If Contributor's Modifications include an application
-        programming interface and Contributor has knowledge of patent
-        licenses which are reasonably necessary to implement that API,
-        Contributor must also include this information in the LEGAL
-        file.
-
-        (c)    Representations.
-
-        Contributor represents that, except as disclosed pursuant to
-        Section 3.4(a) above, Contributor believes that Contributor's
-        Modifications are Contributor's original creation(s) and/or
-        Contributor has sufficient rights to grant the rights conveyed
-        by this License.
-
-
-    3.5. Required Notices.
-
-    You must duplicate the notice in Exhibit A in each file of the
-    Source Code.  If it is not possible to put such notice in a
-    particular Source Code file due to its structure, then You must
-    include such notice in a location (such as a relevant directory)
-    where a user would be likely to look for such a notice.  If You
-    created one or more Modification(s) You may add your name as a
-    Contributor to the notice described in Exhibit A.  You must also
-    duplicate this License in any documentation for the Source Code
-    where You describe recipients' rights or ownership rights relating
-    to Covered Code.  You may choose to offer, and to charge a fee
-    for, warranty, support, indemnity or liability obligations to one
-    or more recipients of Covered Code. However, You may do so only on
-    Your own behalf, and not on behalf of the Initial Developer or any
-    Contributor. You must make it absolutely clear than any such
-    warranty, support, indemnity or liability obligation is offered by
-    You alone, and You hereby agree to indemnify the Initial Developer
-    and every Contributor for any liability incurred by the Initial
-    Developer or such Contributor as a result of warranty, support,
-    indemnity or liability terms You offer.
-
-    3.6. Distribution of Executable Versions.
-
-    You may distribute Covered Code in Executable form only if the
-    requirements of Section 3.1-3.5 have been met for that Covered
-    Code, and if You include a notice stating that the Source Code
-    version of the Covered Code is available under the terms of this
-    License, including a description of how and where You have
-    fulfilled the obligations of Section 3.2. The notice must be
-    conspicuously included in any notice in an Executable version,
-    related documentation or collateral in which You describe
-    recipients' rights relating to the Covered Code. You may
-    distribute the Executable version of Covered Code or ownership
-    rights under a license of Your choice, which may contain terms
-    different from this License, provided that You are in compliance
-    with the terms of this License and that the license for the
-    Executable version does not attempt to limit or alter the
-    recipient's rights in the Source Code version from the rights set
-    forth in this License. If You distribute the Executable version
-    under a different license You must make it absolutely clear that
-    any terms which differ from this License are offered by You alone,
-    not by the Initial Developer or any Contributor. You hereby agree
-    to indemnify the Initial Developer and every Contributor for any
-    liability incurred by the Initial Developer or such Contributor as
-    a result of any such terms You offer.
-
-    3.7. Larger Works.
-
-    You may create a Larger Work by combining Covered Code with other
-    code not governed by the terms of this License and distribute the
-    Larger Work as a single product. In such a case, You must make
-    sure the requirements of this License are fulfilled for the
-    Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-    If it is impossible for You to comply with any of the terms of
-    this License with respect to some or all of the Covered Code due
-    to statute, judicial order, or regulation then You must: (a)
-    comply with the terms of this License to the maximum extent
-    possible; and (b) describe the limitations and the code they
-    affect. Such description must be included in the LEGAL file
-    described in Section 3.4 and must be included with all
-    distributions of the Source Code. Except to the extent prohibited
-    by statute or regulation, such description must be sufficiently
-    detailed for a recipient of ordinary skill to be able to
-    understand it.
-
-5. Application of this License.
-
-    This License applies to code to which the Initial Developer has
-    attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
-    6.1. New Versions.
-
-    Netscape Communications Corporation (''Netscape'') may publish
-    revised and/or new versions of the License from time to time. Each
-    version will be given a distinguishing version number.
-
-    6.2. Effect of New Versions.
-
-    Once Covered Code has been published under a particular version of
-    the License, You may always continue to use it under the terms of
-    that version. You may also choose to use such Covered Code under
-    the terms of any subsequent version of the License published by
-    Netscape. No one other than Netscape has the right to modify the
-    terms applicable to Covered Code created under this License.
-
-    6.3. Derivative Works.
-
-    If You create or use a modified version of this License (which you
-    may only do in order to apply it to code which is not already
-    Covered Code governed by this License), You must (a) rename Your
-    license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'',
-    ''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do
-    not appear in your license (except to note that your license
-    differs from this License) and (b) otherwise make it clear that
-    Your version of the license contains terms which differ from the
-    Mozilla Public License and Netscape Public License. (Filling in
-    the name of the Initial Developer, Original Code or Contributor in
-    the notice described in Exhibit A shall not of themselves be
-    deemed to be modifications of this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-    COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS,
-    WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-    INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS
-    FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR
-    NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
-    OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE
-    DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
-    OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING,
-    REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
-    ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS
-    AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-    8.1.  This License and the rights granted hereunder will terminate
-    automatically if You fail to comply with terms herein and fail to
-    cure such breach within 30 days of becoming aware of the
-    breach. All sublicenses to the Covered Code which are properly
-    granted shall survive any termination of this License. Provisions
-    which, by their nature, must remain in effect beyond the
-    termination of this License shall survive.
-
-    8.2.  If You initiate litigation by asserting a patent
-    infringement claim (excluding declatory judgment actions) against
-    Initial Developer or a Contributor (the Initial Developer or
-    Contributor against whom You file such action is referred to as
-    "Participant") alleging that:
-
-    (a) such Participant's Contributor Version directly or indirectly
-    infringes any patent, then any and all rights granted by such
-    Participant to You under Sections 2.1 and/or 2.2 of this License
-    shall, upon 60 days notice from Participant terminate
-    prospectively, unless if within 60 days after receipt of notice
-    You either: (i) agree in writing to pay Participant a mutually
-    agreeable reasonable royalty for Your past and future use of
-    Modifications made by such Participant, or (ii) withdraw Your
-    litigation claim with respect to the Contributor Version against
-    such Participant.  If within 60 days of notice, a reasonable
-    royalty and payment arrangement are not mutually agreed upon in
-    writing by the parties or the litigation claim is not withdrawn,
-    the rights granted by Participant to You under Sections 2.1 and/or
-    2.2 automatically terminate at the expiration of the 60 day notice
-    period specified above.
-
-    (b) any software, hardware, or device, other than such
-    Participant's Contributor Version, directly or indirectly
-    infringes any patent, then any rights granted to You by such
-    Participant under Sections 2.1(b) and 2.2(b) are revoked effective
-    as of the date You first made, used, sold, distributed, or had
-    made, Modifications made by that Participant.
-
-    8.3.  If You assert a patent infringement claim against
-    Participant alleging that such Participant's Contributor Version
-    directly or indirectly infringes any patent where such claim is
-    resolved (such as by license or settlement) prior to the
-    initiation of patent infringement litigation, then the reasonable
-    value of the licenses granted by such Participant under Sections
-    2.1 or 2.2 shall be taken into account in determining the amount
-    or value of any payment or license.
-
-    8.4.  In the event of termination under Sections 8.1 or 8.2 above,
-    all end user license agreements (excluding distributors and
-    resellers) which have been validly granted by You or any
-    distributor hereunder prior to termination shall survive
-    termination.
-
-9. LIMITATION OF LIABILITY.
-
-    UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-    (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
-    INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
-    COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO
-    ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
-    DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES
-    FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
-    MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES,
-    EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF
-    SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO
-    LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S
-    NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
-    LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
-    LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
-    EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-    The Covered Code is a ''commercial item,'' as that term is defined
-    in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial
-    computer software'' and ''commercial computer software
-    documentation,'' as such terms are used in 48 C.F.R. 12.212
-    (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48
-    C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all
-    U.S. Government End Users acquire Covered Code with only those
-    rights set forth herein.
-
-11. MISCELLANEOUS.
-
-    This License represents the complete agreement concerning subject
-    matter hereof. If any provision of this License is held to be
-    unenforceable, such provision shall be reformed only to the extent
-    necessary to make it enforceable. This License shall be governed
-    by California law provisions (except to the extent applicable law,
-    if any, provides otherwise), excluding its conflict-of-law
-    provisions. With respect to disputes in which at least one party
-    is a citizen of, or an entity chartered or registered to do
-    business in the United States of America, any litigation relating
-    to this License shall be subject to the jurisdiction of the
-    Federal Courts of the Northern District of California, with venue
-    lying in Santa Clara County, California, with the losing party
-    responsible for costs, including without limitation, court costs
-    and reasonable attorneys' fees and expenses. The application of
-    the United Nations Convention on Contracts for the International
-    Sale of Goods is expressly excluded. Any law or regulation which
-    provides that the language of a contract shall be construed
-    against the drafter shall not apply to this License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-    As between Initial Developer and the Contributors, each party is
-    responsible for claims and damages arising, directly or
-    indirectly, out of its utilization of rights under this License
-    and You agree to work with Initial Developer and Contributors to
-    distribute such responsibility on an equitable basis. Nothing
-    herein is intended or shall be deemed to constitute any admission
-    of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
-    Initial Developer may designate portions of the Covered Code as
-    �Multiple-Licensed�.  �Multiple-Licensed� means that the Initial
-    Developer permits you to utilize portions of the Covered Code
-    under Your choice of the NPL or the alternative licenses, if any,
-    specified by the Initial Developer in the file described in
-    Exhibit A.
-
-
-EXHIBIT A -Mozilla Public License.
-
-    ``The contents of this file are subject to the Mozilla Public
-    License Version 1.1 (the "License"); you may not use this file
-    except in compliance with the License. You may obtain a copy of
-    the License at http://www.mozilla.org/MPL/
-
-    Software distributed under the License is distributed on an "AS
-    IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-    implied. See the License for the specific language governing
-    rights and limitations under the License.
-
-    The Original Code is ______________________________________.
-
-    The Initial Developer of the Original Code is
-     ________________________. Portions created by
-     ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-    Contributor(s): ______________________________________.
-
-    Alternatively, the contents of this file may be used under the
-    terms of the _____ license (the �[___] License�), in which case
-    the provisions of [______] License are applicable instead of those
-    above.  If you wish to allow use of your version of this file only
-    under the terms of the [____] License and not to allow others to
-    use your version of this file under the MPL, indicate your
-    decision by deleting the provisions above and replace them with
-    the notice and other provisions required by the [___] License.  If
-    you do not delete the provisions above, a recipient may use your
-    version of this file under either the MPL or the [___] License."
-
-    [NOTE: The text of this Exhibit A may differ slightly from the
-    text of the notices in the Source Code files of the Original
-    Code. You should use the text of this Exhibit A rather than the
-    text found in the Original Code Source Code for Your
-    Modifications.]
-============================================================================
-
-	  GNU GENERAL PUBLIC LICENSE
-	     Version 2, June 1991
-
-   Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-   Everyone is permitted to copy and distribute verbatim copies
-   of this license document, but changing it is not allowed.
-
-	    Preamble
-
-    The licenses for most software are designed to take away your
-  freedom to share and change it.  By contrast, the GNU General Public
-  License is intended to guarantee your freedom to share and change free
-  software--to make sure the software is free for all its users.  This
-  General Public License applies to most of the Free Software
-  Foundation's software and to any other program whose authors commit to
-  using it.  (Some other Free Software Foundation software is covered by
-  the GNU Lesser General Public License instead.)  You can apply it to
-  your programs, too.
-
-    When we speak of free software, we are referring to freedom, not
-  price.  Our General Public Licenses are designed to make sure that you
-  have the freedom to distribute copies of free software (and charge for
-  this service if you wish), that you receive source code or can get it
-  if you want it, that you can change the software or use pieces of it
-  in new free programs; and that you know you can do these things.
-
-    To protect your rights, we need to make restrictions that forbid
-  anyone to deny you these rights or to ask you to surrender the rights.
-  These restrictions translate to certain responsibilities for you if you
-  distribute copies of the software, or if you modify it.
-
-    For example, if you distribute copies of such a program, whether
-  gratis or for a fee, you must give the recipients all the rights that
-  you have.  You must make sure that they, too, receive or can get the
-  source code.  And you must show them these terms so they know their
-  rights.
-
-    We protect your rights with two steps: (1) copyright the software, and
-  (2) offer you this license which gives you legal permission to copy,
-  distribute and/or modify the software.
-
-    Also, for each author's protection and ours, we want to make certain
-  that everyone understands that there is no warranty for this free
-  software.  If the software is modified by someone else and passed on, we
-  want its recipients to know that what they have is not the original, so
-  that any problems introduced by others will not reflect on the original
-  authors' reputations.
-
-    Finally, any free program is threatened constantly by software
-  patents.  We wish to avoid the danger that redistributors of a free
-  program will individually obtain patent licenses, in effect making the
-  program proprietary.  To prevent this, we have made it clear that any
-  patent must be licensed for everyone's free use or not licensed at all.
-
-    The precise terms and conditions for copying, distribution and
-  modification follow.
-
-	  GNU GENERAL PUBLIC LICENSE
-     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-    0. This License applies to any program or other work which contains
-  a notice placed by the copyright holder saying it may be distributed
-  under the terms of this General Public License.  The "Program", below,
-  refers to any such program or work, and a "work based on the Program"
-  means either the Program or any derivative work under copyright law:
-  that is to say, a work containing the Program or a portion of it,
-  either verbatim or with modifications and/or translated into another
-  language.  (Hereinafter, translation is included without limitation in
-  the term "modification".)  Each licensee is addressed as "you".
-
-  Activities other than copying, distribution and modification are not
-  covered by this License; they are outside its scope.  The act of
-  running the Program is not restricted, and the output from the Program
-  is covered only if its contents constitute a work based on the
-  Program (independent of having been made by running the Program).
-  Whether that is true depends on what the Program does.
-
-    1. You may copy and distribute verbatim copies of the Program's
-  source code as you receive it, in any medium, provided that you
-  conspicuously and appropriately publish on each copy an appropriate
-  copyright notice and disclaimer of warranty; keep intact all the
-  notices that refer to this License and to the absence of any warranty;
-  and give any other recipients of the Program a copy of this License
-  along with the Program.
-
-  You may charge a fee for the physical act of transferring a copy, and
-  you may at your option offer warranty protection in exchange for a fee.
-
-    2. You may modify your copy or copies of the Program or any portion
-  of it, thus forming a work based on the Program, and copy and
-  distribute such modifications or work under the terms of Section 1
-  above, provided that you also meet all of these conditions:
-
-      a) You must cause the modified files to carry prominent notices
-      stating that you changed the files and the date of any change.
-
-      b) You must cause any work that you distribute or publish, that in
-      whole or in part contains or is derived from the Program or any
-      part thereof, to be licensed as a whole at no charge to all third
-      parties under the terms of this License.
-
-      c) If the modified program normally reads commands interactively
-      when run, you must cause it, when started running for such
-      interactive use in the most ordinary way, to print or display an
-      announcement including an appropriate copyright notice and a
-      notice that there is no warranty (or else, saying that you provide
-      a warranty) and that users may redistribute the program under
-      these conditions, and telling the user how to view a copy of this
-      License.  (Exception: if the Program itself is interactive but
-      does not normally print such an announcement, your work based on
-      the Program is not required to print an announcement.)
-
-  These requirements apply to the modified work as a whole.  If
-  identifiable sections of that work are not derived from the Program,
-  and can be reasonably considered independent and separate works in
-  themselves, then this License, and its terms, do not apply to those
-  sections when you distribute them as separate works.  But when you
-  distribute the same sections as part of a whole which is a work based
-  on the Program, the distribution of the whole must be on the terms of
-  this License, whose permissions for other licensees extend to the
-  entire whole, and thus to each and every part regardless of who wrote it.
-
-  Thus, it is not the intent of this section to claim rights or contest
-  your rights to work written entirely by you; rather, the intent is to
-  exercise the right to control the distribution of derivative or
-  collective works based on the Program.
-
-  In addition, mere aggregation of another work not based on the Program
-  with the Program (or with a work based on the Program) on a volume of
-  a storage or distribution medium does not bring the other work under
-  the scope of this License.
-
-    3. You may copy and distribute the Program (or a work based on it,
-  under Section 2) in object code or executable form under the terms of
-  Sections 1 and 2 above provided that you also do one of the following:
-
-      a) Accompany it with the complete corresponding machine-readable
-      source code, which must be distributed under the terms of Sections
-      1 and 2 above on a medium customarily used for software interchange; or,
-
-      b) Accompany it with a written offer, valid for at least three
-      years, to give any third party, for a charge no more than your
-      cost of physically performing source distribution, a complete
-      machine-readable copy of the corresponding source code, to be
-      distributed under the terms of Sections 1 and 2 above on a medium
-      customarily used for software interchange; or,
-
-      c) Accompany it with the information you received as to the offer
-      to distribute corresponding source code.  (This alternative is
-      allowed only for noncommercial distribution and only if you
-      received the program in object code or executable form with such
-      an offer, in accord with Subsection b above.)
-
-  The source code for a work means the preferred form of the work for
-  making modifications to it.  For an executable work, complete source
-  code means all the source code for all modules it contains, plus any
-  associated interface definition files, plus the scripts used to
-  control compilation and installation of the executable.  However, as a
-  special exception, the source code distributed need not include
-  anything that is normally distributed (in either source or binary
-  form) with the major components (compiler, kernel, and so on) of the
-  operating system on which the executable runs, unless that component
-  itself accompanies the executable.
-
-  If distribution of executable or object code is made by offering
-  access to copy from a designated place, then offering equivalent
-  access to copy the source code from the same place counts as
-  distribution of the source code, even though third parties are not
-  compelled to copy the source along with the object code.
-
-    4. You may not copy, modify, sublicense, or distribute the Program
-  except as expressly provided under this License.  Any attempt
-  otherwise to copy, modify, sublicense or distribute the Program is
-  void, and will automatically terminate your rights under this License.
-  However, parties who have received copies, or rights, from you under
-  this License will not have their licenses terminated so long as such
-  parties remain in full compliance.
-
-    5. You are not required to accept this License, since you have not
-  signed it.  However, nothing else grants you permission to modify or
-  distribute the Program or its derivative works.  These actions are
-  prohibited by law if you do not accept this License.  Therefore, by
-  modifying or distributing the Program (or any work based on the
-  Program), you indicate your acceptance of this License to do so, and
-  all its terms and conditions for copying, distributing or modifying
-  the Program or works based on it.
-
-    6. Each time you redistribute the Program (or any work based on the
-  Program), the recipient automatically receives a license from the
-  original licensor to copy, distribute or modify the Program subject to
-  these terms and conditions.  You may not impose any further
-  restrictions on the recipients' exercise of the rights granted herein.
-  You are not responsible for enforcing compliance by third parties to
-  this License.
-
-    7. If, as a consequence of a court judgment or allegation of patent
-  infringement or for any other reason (not limited to patent issues),
-  conditions are imposed on you (whether by court order, agreement or
-  otherwise) that contradict the conditions of this License, they do not
-  excuse you from the conditions of this License.  If you cannot
-  distribute so as to satisfy simultaneously your obligations under this
-  License and any other pertinent obligations, then as a consequence you
-  may not distribute the Program at all.  For example, if a patent
-  license would not permit royalty-free redistribution of the Program by
-  all those who receive copies directly or indirectly through you, then
-  the only way you could satisfy both it and this License would be to
-  refrain entirely from distribution of the Program.
-
-  If any portion of this section is held invalid or unenforceable under
-  any particular circumstance, the balance of the section is intended to
-  apply and the section as a whole is intended to apply in other
-  circumstances.
-
-  It is not the purpose of this section to induce you to infringe any
-  patents or other property right claims or to contest validity of any
-  such claims; this section has the sole purpose of protecting the
-  integrity of the free software distribution system, which is
-  implemented by public license practices.  Many people have made
-  generous contributions to the wide range of software distributed
-  through that system in reliance on consistent application of that
-  system; it is up to the author/donor to decide if he or she is willing
-  to distribute software through any other system and a licensee cannot
-  impose that choice.
-
-  This section is intended to make thoroughly clear what is believed to
-  be a consequence of the rest of this License.
-
-    8. If the distribution and/or use of the Program is restricted in
-  certain countries either by patents or by copyrighted interfaces, the
-  original copyright holder who places the Program under this License
-  may add an explicit geographical distribution limitation excluding
-  those countries, so that distribution is permitted only in or among
-  countries not thus excluded.  In such case, this License incorporates
-  the limitation as if written in the body of this License.
-
-    9. The Free Software Foundation may publish revised and/or new versions
-  of the General Public License from time to time.  Such new versions will
-  be similar in spirit to the present version, but may differ in detail to
-  address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the Program
-  specifies a version number of this License which applies to it and "any
-  later version", you have the option of following the terms and conditions
-  either of that version or of any later version published by the Free
-  Software Foundation.  If the Program does not specify a version number of
-  this License, you may choose any version ever published by the Free Software
-  Foundation.
-
-    10. If you wish to incorporate parts of the Program into other free
-  programs whose distribution conditions are different, write to the author
-  to ask for permission.  For software which is copyrighted by the Free
-  Software Foundation, write to the Free Software Foundation; we sometimes
-  make exceptions for this.  Our decision will be guided by the two goals
-  of preserving the free status of all derivatives of our free software and
-  of promoting the sharing and reuse of software generally.
-
-	    NO WARRANTY
-
-    11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-  FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-  OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-  PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-  OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-  TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-  PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-  REPAIR OR CORRECTION.
-
-    12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-  REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-  INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-  OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-  TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-  YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-  PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGES.
-
-	   END OF TERMS AND CONDITIONS
-
-	How to Apply These Terms to Your New Programs
-
-    If you develop a new program, and you want it to be of the greatest
-  possible use to the public, the best way to achieve this is to make it
-  free software which everyone can redistribute and change under these terms.
-
-    To do so, attach the following notices to the program.  It is safest
-  to attach them to the start of each source file to most effectively
-  convey the exclusion of warranty; and each file should have at least
-  the "copyright" line and a pointer to where the full notice is found.
-
-      <one line to give the program's name and a brief idea of what it does.>
-      Copyright (C) <year>  <name of author>
-
-      This program is free software; you can redistribute it and/or modify
-      it under the terms of the GNU General Public License as published by
-      the Free Software Foundation; either version 2 of the License, or
-      (at your option) any later version.
-
-      This program is distributed in the hope that it will be useful,
-      but WITHOUT ANY WARRANTY; without even the implied warranty of
-      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-      GNU General Public License for more details.
-
-      You should have received a copy of the GNU General Public License along
-      with this program; if not, write to the Free Software Foundation, Inc.,
-      51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-  Also add information on how to contact you by electronic and paper mail.
-
-  If the program is interactive, make it output a short notice like this
-  when it starts in an interactive mode:
-
-      Gnomovision version 69, Copyright (C) year name of author
-      Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-      This is free software, and you are welcome to redistribute it
-      under certain conditions; type `show c' for details.
-
-  The hypothetical commands `show w' and `show c' should show the appropriate
-  parts of the General Public License.  Of course, the commands you use may
-  be called something other than `show w' and `show c'; they could even be
-  mouse-clicks or menu items--whatever suits your program.
-
-  You should also get your employer (if you work as a programmer) or your
-  school, if any, to sign a "copyright disclaimer" for the program, if
-  necessary.  Here is a sample; alter the names:
-
-    Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-    `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-    <signature of Ty Coon>, 1 April 1989
-    Ty Coon, President of Vice
-
-  This General Public License does not permit incorporating your program into
-  proprietary programs.  If your program is a subroutine library, you may
-  consider it more useful to permit linking proprietary applications with the
-  library.  If this is what you want to do, use the GNU Lesser General
-  Public License instead of this License.
-============================================================================
-
-------------------
-
-Files: kotlinc/lib/kotlin-compiler.jar
-
-The MIT License
-
-Copyright (c) 2003, Kohsuke Kawaguchi
-
-Permission 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.
-
-------------------
-
-Files: 
-
-
- ASM: a very small and fast Java bytecode manipulation framework
- Copyright (c) 2000-2005 INRIA, France Telecom
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
- 3. Neither the name of the copyright holders nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.
-
-------------------
-
-Files:
-
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-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, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-
-------------------
-
-Files:
-
-Eclipse Public License, Version 1.0 (EPL-1.0)
-
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
-LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
-CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-1. DEFINITIONS
-
-"Contribution" means:
-
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
-    b) in the case of each subsequent Contributor:
-        i) changes to the Program, and
-        ii) additions to the Program;
-
-where such changes and/or additions to the Program originate from and are
-distributed by that particular Contributor. A Contribution 'originates'
-from a Contributor if it was added to the Program by such Contributor itself
-or anyone acting on such Contributor's behalf. Contributions do not include
-additions to the Program which: (i) are separate modules of software
-distributed in conjunction with the Program under their own license agreement,
-and (ii) are not derivative works of the Program.
-
-"Contributor" means any person or entity that distributes the Program.
-
-"Licensed Patents " mean patent claims licensable by a Contributor which are
-necessarily infringed by the use or sale of its Contribution alone or
-when combined with the Program.
-
-"Program" means the Contributions distributed in accordance with
-this Agreement.
-
-"Recipient" means anyone who receives the Program under this Agreement,
-including all Contributors.
-
-2. GRANT OF RIGHTS
-
-    a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license to
-       reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works,
-       in source code and object code form.
-
-    b) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any,
-       in source code and object code form. This patent license shall apply
-       to the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the
-       Licensed Patents. The patent license shall not apply to any other
-       combinations which include the Contribution.
-       No hardware per se is licensed hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity.
-       Each Contributor disclaims any liability to Recipient for claims
-       brought by any other entity based on infringement of intellectual
-       property rights or otherwise. As a condition to exercising the
-       rights and licenses granted hereunder, each Recipient hereby assumes
-       sole responsibility to secure any other intellectual property rights
-       needed, if any. For example, if a third party patent license is
-       required to allow Recipient to distribute the Program, it is
-       Recipient's responsibility to acquire that license
-       before distributing the Program.
-
-    d) Each Contributor represents that to its knowledge it has sufficient
-       copyright rights in its Contribution, if any, to grant the copyright
-       license set forth in this Agreement.
-
-3. REQUIREMENTS
-
-A Contributor may choose to distribute the Program in object code form under
-its own license agreement, provided that:
-
-    a) it complies with the terms and conditions of this Agreement; and
-
-    b) its license agreement:
-
-        i) effectively disclaims on behalf of all Contributors all warranties
-        and conditions, express and implied, including warranties or
-        conditions of title and non-infringement, and implied warranties or
-        conditions of merchantability and fitness for a particular purpose;
-
-        ii) effectively excludes on behalf of all Contributors all liability
-        for damages, including direct, indirect, special, incidental and
-        consequential damages, such as lost profits;
-
-        iii) states that any provisions which differ from this Agreement are
-        offered by that Contributor alone and not by any other party; and
-
-        iv) states that source code for the Program is available from such
-        Contributor, and informs licensees how to obtain it in a reasonable
-        manner on or through a medium customarily used for software exchange.
-
-When the Program is made available in source code form:
-
-    a) it must be made available under this Agreement; and
-    b) a copy of this Agreement must be included with each copy of the Program.
-
-Contributors may not remove or alter any copyright notices contained
-within the Program.
-
-Each Contributor must identify itself as the originator of its Contribution,
-if any, in a manner that reasonably allows subsequent Recipients to
-identify the originator of the Contribution.
-
-4. COMMERCIAL DISTRIBUTION
-
-Commercial distributors of software may accept certain responsibilities with
-respect to end users, business partners and the like. While this license is
-intended to facilitate the commercial use of the Program, the Contributor who
-includes the Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors. Therefore,
-if a Contributor includes the Program in a commercial product offering,
-such Contributor ("Commercial Contributor") hereby agrees to defend and
-indemnify every other Contributor ("Indemnified Contributor") against any
-losses, damages and costs (collectively "Losses") arising from claims,
-lawsuits and other legal actions brought by a third party against the
-Indemnified Contributor to the extent caused by the acts or omissions of
-such Commercial Contributor in connection with its distribution of the Program
-in a commercial product offering. The obligations in this section do not apply
-to any claims or Losses relating to any actual or alleged intellectual
-property infringement. In order to qualify, an Indemnified Contributor must:
-a) promptly notify the Commercial Contributor in writing of such claim,
-and b) allow the Commercial Contributor to control, and cooperate with the
-Commercial Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any such
-claim at its own expense.
-
-For example, a Contributor might include the Program in a commercial product
-offering, Product X. That Contributor is then a Commercial Contributor.
-If that Commercial Contributor then makes performance claims, or offers
-warranties related to Product X, those performance claims and warranties
-are such Commercial Contributor's responsibility alone. Under this section,
-the Commercial Contributor would have to defend claims against the other
-Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result,
-the Commercial Contributor must pay those damages.
-
-5. NO WARRANTY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
-IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
-NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-Each Recipient is solely responsible for determining the appropriateness of
-using and distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to the
-risks and costs of program errors, compliance with applicable laws, damage to
-or loss of data, programs or equipment, and unavailability
-or interruption of operations.
-
-6. DISCLAIMER OF LIABILITY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
-CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
-LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-7. GENERAL
-
-If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of the
-remainder of the terms of this Agreement, and without further action by
-the parties hereto, such provision shall be reformed to the minimum extent
-necessary to make such provision valid and enforceable.
-
-If Recipient institutes patent litigation against any entity (including a
-cross-claim or counterclaim in a lawsuit) alleging that the Program itself
-(excluding combinations of the Program with other software or hardware)
-infringes such Recipient's patent(s), then such Recipient's rights granted
-under Section 2(b) shall terminate as of the date such litigation is filed.
-
-All Recipient's rights under this Agreement shall terminate if it fails to
-comply with any of the material terms or conditions of this Agreement and
-does not cure such failure in a reasonable period of time after becoming
-aware of such noncompliance. If all Recipient's rights under this
-Agreement terminate, Recipient agrees to cease use and distribution of the
-Program as soon as reasonably practicable. However, Recipient's obligations
-under this Agreement and any licenses granted by Recipient relating to the
-Program shall continue and survive.
-
-Everyone is permitted to copy and distribute copies of this Agreement,
-but in order to avoid inconsistency the Agreement is copyrighted and may
-only be modified in the following manner. The Agreement Steward reserves
-the right to publish new versions (including revisions) of this Agreement
-from time to time. No one other than the Agreement Steward has the right to
-modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version
-of the Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly
-stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
-licenses to the intellectual property of any Contributor under this Agreement,
-whether expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are reserved.
-
-This Agreement is governed by the laws of the State of New York and the
-intellectual property laws of the United States of America. No party to
-this Agreement will bring a legal action under this Agreement more than one
-year after the cause of action arose. Each party waives its rights to a
-jury trial in any resulting litigation.
-
-------------------
-
-Files:
-
-Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-
-Developed at SunSoft, a Sun Microsystems, Inc. business.
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice 
-is preserved.
-
-Kotlin coroutines:
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-SafeParcelable library:
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-TensorFlow:
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-## Some of TensorFlow's code is derived from Caffe, which is subject to the following copyright notice:
-
-COPYRIGHT
-
-All contributions by the University of California:
-
-Copyright (c) 2014, The Regents of the University of California (Regents)
-All rights reserved.
-
-All other contributions:
-
-Copyright (c) 2014, the respective contributors
-All rights reserved.
-
-Caffe uses a shared copyright model: each contributor holds copyright over
-their contributions to Caffe. The project versioning records all such
-contribution and copyright details. If a contributor wants to further mark
-their specific copyright on a particular contribution, they should indicate
-their copyright solely in the commit message of the change when it is
-committed.
-
-LICENSE
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-CONTRIBUTION AGREEMENT
-
-By contributing to the BVLC/caffe repository through pull-request, comment,
-or otherwise, the contributor releases their content to the
-license and copyright terms herein.
-
-apksig:
-
-
-   Copyright (c) 2005-2008, The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-
-
-kotlinx_atomicfu:
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-
play-services-vision homepage @@ -179343,6 +164675,432 @@ That's all there is to it!
+
+SPIR-V Headers +homepage + +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+ +
+SPIR-V Tools +homepage + +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+
SPIR-V Tools homepage @@ -179563,7 +165321,8 @@ That's all there is to it!
-
Copyright (c) 2015-2018 The Khronos Group Inc.
+
Files: All files except for those called out below.
+Copyright (c) 2015-2024 The Khronos Group Inc.
 
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and/or associated documentation files (the
@@ -179588,6 +165347,83 @@ 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
 MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+
+---
+
+Files: include/spirv/spir-v.xml
+Copyright (c) 2015-2024 The Khronos Group Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and/or associated documentation files (the
+"Materials"), to deal in the Materials without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Materials, and to
+permit persons to whom the Materials are 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 Materials.
+
+THE MATERIALS ARE 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
+MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+
+---
+
+Files: tools/buildHeaders/jsoncpp/*
+The JsonCpp library's source code, including accompanying documentation,
+tests and demonstration applications, are licensed under the following
+conditions...
+
+The author (Baptiste Lepilleur) explicitly disclaims copyright in all
+jurisdictions which recognize such a disclaimer. In such jurisdictions,
+this software is released into the Public Domain.
+
+In jurisdictions which do not recognize Public Domain property (e.g. Germany as of
+2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is
+released under the terms of the MIT License (see below).
+
+In jurisdictions which recognize Public Domain property, the user of this
+software may choose to accept it either as 1) Public Domain, 2) under the
+conditions of the MIT License (see below), or 3) under the terms of dual
+Public Domain/MIT License conditions described here, as they choose.
+
+The MIT License is about as close to Public Domain as a license can get, and is
+described in clear, concise terms at:
+
+   http://en.wikipedia.org/wiki/MIT_License
+
+The full text of the MIT License follows:
+
+========================================================================
+Copyright (c) 2007-2010 Baptiste Lepilleur
+
+Permission 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.
+========================================================================
+
+---
 
@@ -180622,219 +166458,6 @@ SOFTWARE. -
-TensorFlow Lite -homepage - -
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-
-
TensorFlow Lite Support homepage @@ -184305,56 +169928,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-valgrind -homepage - -
-
   Notice that the following BSD-style license applies to the Valgrind header
-   files used by Chromium (valgrind.h and memcheck.h). However, the rest of
-   Valgrind is licensed under the terms of the GNU General Public License,
-   version 2, unless otherwise indicated.
-
-   ----------------------------------------------------------------
-
-   Copyright (C) 2000-2008 Julian Seward.  All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-
-   1. Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-   2. The origin of this software must not be misrepresented; you must 
-      not claim that you wrote the original software.  If you use this 
-      software in a product, an acknowledgment in the product 
-      documentation would be appreciated but is not required.
-
-   3. Altered source versions must be plainly marked as such, and must
-      not be misrepresented as being the original software.
-
-   4. The name of the author may not be used to endorse or promote 
-      products derived from this software without specific prior written 
-      permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-   OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
-
VersionedParcelable and friends homepage @@ -184811,6 +170384,219 @@ SOFTWARE.
+
+Vulkan API headers +homepage + +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+
Vulkan Deps homepage @@ -185067,6 +170853,17 @@ Any license deviations from Apache 2.0 are "more permissive" licenses.
+
+Vulkan-ValidationLayers +homepage + +
+

+
+
+
VulkanMemoryAllocator homepage @@ -185286,168 +171083,14 @@ THE SOFTWARE.
-webapp2 -homepage +Web Vitals +homepage
-
webapp2
-=======
-Copyright 2010 Rodrigo Moraes.
-All rights reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-GOOGLE APP ENGINE SDK
-=====================
-Copyright 2008 Google Inc.
-All rights reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-WebOb
-=====
-Copyright (c) 2007 Ian Bicking and Contributors
-
-Permission 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.
-
-
-Werkzeug
-========
-Copyright (c) 2011 by the Werkzeug Team, see AUTHORS for more details.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials provided
-      with the distribution.
-
-    * The names of the contributors may not be used to endorse or
-      promote products derived from this software without specific
-      prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-Tornado
-=======
-Copyright 2009 Facebook
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may
-not use this file except in compliance with the License. You may obtain
-a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-License for the specific language governing permissions and limitations
-under the License.
-
-
-Flask
-=====
-Copyright (c) 2010 by Armin Ronacher and contributors.  See AUTHORS
-for more details.
-
-Some rights reserved.
-
-Redistribution and use in source and binary forms of the software as well
-as documentation, with or without modification, are permitted provided
-that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-  copyright notice, this list of conditions and the following
-  disclaimer in the documentation and/or other materials provided
-  with the distribution.
-
-* The names of the contributors may not be used to endorse or
-  promote products derived from this software without specific
-  prior written permission.
-
-THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND
-CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
-NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE AND DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
-
-
-
- -
-webhint is a customizable linting tool that helps you improve your site's accessibility, speed, cross-browser compatibility, and more by checking your code for best practices and common errors. -homepage - -
-
                                 Apache License
+
+                                 Apache License
                            Version 2.0, January 2004
                         http://www.apache.org/licenses/
 
@@ -185627,7 +171270,7 @@ DAMAGE.
    APPENDIX: How to apply the Apache License to your work.
 
       To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "{}"
+      boilerplate notice, with the fields enclosed by brackets "[]"
       replaced with your own identifying information. (Don't include
       the brackets!)  The text should be enclosed in the appropriate
       comment syntax for the file format. We also recommend that a
@@ -185635,19 +171278,175 @@ DAMAGE.
       same "printed page" as the copyright notice for easier
       identification within third-party archives.
 
-   Copyright JS Foundation and other contributors, https://js.foundation
+   Copyright 2020 Google LLC
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
 
-       http://www.apache.org/licenses/LICENSE-2.0
+       https://www.apache.org/licenses/LICENSE-2.0
 
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
-   limitations under the License.
+ limitations under the License. +
+
+
+ +
+webapp2 +homepage + +
+
webapp2
+=======
+Copyright 2010 Rodrigo Moraes.
+All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+
+GOOGLE APP ENGINE SDK
+=====================
+Copyright 2008 Google Inc.
+All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+
+WebOb
+=====
+Copyright (c) 2007 Ian Bicking and Contributors
+
+Permission 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.
+
+
+Werkzeug
+========
+Copyright (c) 2011 by the Werkzeug Team, see AUTHORS for more details.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * The names of the contributors may not be used to endorse or
+      promote products derived from this software without specific
+      prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Tornado
+=======
+Copyright 2009 Facebook
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may
+not use this file except in compliance with the License. You may obtain
+a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations
+under the License.
+
+
+Flask
+=====
+Copyright (c) 2010 by Armin Ronacher and contributors.  See AUTHORS
+for more details.
+
+Some rights reserved.
+
+Redistribution and use in source and binary forms of the software as well
+as documentation, with or without modification, are permitted provided
+that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright
+  notice, this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above
+  copyright notice, this list of conditions and the following
+  disclaimer in the documentation and/or other materials provided
+  with the distribution.
+
+* The names of the contributors may not be used to endorse or
+  promote products derived from this software without specific
+  prior written permission.
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE AND DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+
diff --git a/msedgedriver/edgedriver.zip b/msedgedriver/edgedriver.zip index 392711c..0190ac9 100644 Binary files a/msedgedriver/edgedriver.zip and b/msedgedriver/edgedriver.zip differ diff --git a/msedgedriver/msedgedriver.exe b/msedgedriver/msedgedriver.exe index 09b6f53..2dd759b 100644 Binary files a/msedgedriver/msedgedriver.exe and b/msedgedriver/msedgedriver.exe differ diff --git a/user.py b/user.py new file mode 100644 index 0000000..58d5f04 --- /dev/null +++ b/user.py @@ -0,0 +1,1121 @@ +################# +###ZouJiu-202306 +################# +from selenium import webdriver +from selenium.webdriver.edge.service import Service +from selenium.webdriver import EdgeOptions +import os +from selenium.webdriver.common.by import By +import time +import pickle +import json +from selenium.webdriver.support.wait import WebDriverWait +import requests +from copy import deepcopy +import argparse +from datetime import datetime +# from selenium.webdriver.common import keys +from selenium.webdriver import ActionChains +from selenium.webdriver.common.by import By +from selenium.webdriver.common.actions.wheel_input import ScrollOrigin +# import numpy as np +import shutil +# from selenium.webdriver.chrome.options import Options +from selenium.webdriver.common.print_page_options import PrintOptions +# from selenium.webdriver.common.desired_capabilities import DesiredCapabilities +from selenium.webdriver.support import expected_conditions as EC +import base64 +from zipfile import ZipFile +from bs4 import BeautifulSoup + +abspath = os.path.abspath(__file__) +filename = abspath.split(os.sep)[-1] +abspath = abspath.replace(filename, "") + +import sys +sys.path.append(abspath) +# wkhtmltopdf_path = os.path.join(abspath, r'wkhtmltopdf\bin\wkhtmltopdf.exe') +# sys.path.append(wkhtmltopdf_path) +from thinkdeal import * + +def save_cookie(driverkkk, path): + #https://stackoverflow.com/questions/45417335/python-use-cookie-to-login-with-selenium + with open(path, 'wb') as filehandler: + pickle.dump(driverkkk.get_cookies(), filehandler) + +def load_cookie(driverkkk, path): + #https://stackoverflow.com/questions/45417335/python-use-cookie-to-login-with-selenium + with open(path, 'rb') as cookiesfile: + cookies = pickle.load(cookiesfile) + for cookie in cookies: + driverkkk.add_cookie(cookie) + +def crawlsleep(times): + time.sleep(times) + +def now(): + return time.time() + +def nowtime(): + nowtm = datetime.fromtimestamp(time.time()).isoformat().replace(":", "_") + return nowtm + +def edgeopen(driverpath): + service=Service(executable_path=driverpath) + edge_options = EdgeOptions() + + #https://stackoverflow.com/questions/53039551/selenium-webdriver-modifying-navigator-webdriver-flag-to-prevent-selenium-detec + edge_options.add_experimental_option('excludeSwitches', ['enable-automation']) + edge_options.add_experimental_option('useAutomationExtension', False) + edge_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en') + edge_options.add_argument("disable-blink-features=AutomationControlled")#就是这一行告诉chrome去掉了webdriver痕迹 + + # #https://stackoverflow.com/questions/56897041/how-to-save-opened-page-as-pdf-in-selenium-python + # settings = { + # "recentDestinations": [{ + # "id": "Save as PDF", + # "origin": "local", + # "account": "", + # }], + # "selectedDestinationId": "Save as PDF", + # "version": 2 + # } + # #https://www.apiref.com/java11-zh/java.desktop/javax/print/attribute/standard/MediaSize.ISO.html + # settings = { + # "recentDestinations": [{ + # "id": "Save as PDF", + # "origin": "local", + # "account": "" + # }], + # "selectedDestinationId": "Save as PDF", + # "version": 2, + # "isHeaderFooterEnabled": False, + # "mediaSize": { + + # "height_microns": 297000, + # "name": "ISO_A4", + # "width_microns": 210000, + # "custom_display_name": "A4" + # }, + # "customMargins": {"margin": 0}, + # "marginsType": 3, + # # "scaling": 130, + # # "scalingType": 3, + # # "scalingTypePdf": 3, + # "isCssBackgroundEnabled": True + # } + # prefs = { + # 'printing.print_preview_sticky_settings.appState': json.dumps(settings), + # 'savefile.default_directory': pdfpath, + # } + # edge_options.add_experimental_option('prefs', prefs) + # edge_options.add_argument('--kiosk-printing') + + # https://www.selenium.dev/documentation/webdriver/drivers/options/#pageloadstrategy + # https://stackoverflow.com/questions/44503576/selenium-python-how-to-stop-page-loading-when-certain-element-gets-loaded + # edge_options.add_argument(page_load_strategy, 'normal') + # if strategy: + edge_options.page_load_strategy = 'normal' + # cap = DesiredCapabilities.EDGE + # cap['pageLoadStrategy'] = 'none' + + driver = webdriver.Edge(options=edge_options, service = service) + driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})") + driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'}) + driver.set_script_timeout(20) + + return driver + + +def login(driver): + driver.find_elements(By.CLASS_NAME, "SignFlow-tab")[1].click() + # driver.find_elements(By.CLASS_NAME, "username-input")[0].send_keys("") + # driver.find_elements(By.CLASS_NAME, "username-input")[1].send_keys("") + # driver.find_element(By.CLASS_NAME, "SignFlow-submitButton").click() + time.sleep(20) + # WebDriverWait(driver, timeout=60).until(lambda d:d.find_element(By.CLASS_NAME, "TopstoryTabs-link")) + return driver + +def crawl_article_links(driver:webdriver, username:str): + #crawl articles links + articles = r'https://www.zhihu.com/people/zoujiu1/posts' + articles_one = r'https://www.zhihu.com/org/zoujiu1/posts?page=' + article_detail = r'https://zhuanlan.zhihu.com/p/' + + articles_one = articles_one.replace("zoujiu1", username) + driver.get(articles.replace("zoujiu1", username)) + time.sleep(5) + if driver.find_elements(By.CLASS_NAME, 'Pagination'): + pages = driver.find_elements(By.CLASS_NAME, 'Pagination')[0] + d = 1 + print(type(pages)) + if '...' in pages.text : + d = pages.text.split('...')[1].split('下一页')[0] + else: + d = pages.text[4] + assert isinstance(int(d), int) + maxpages = int(d) + + all_article_detail = {} + #how many pages of articles + for p in range(1, maxpages + 1): + driver.get(articles_one + str(p)) + print(articles_one + str(p)) + time.sleep(3) + + items = driver.find_elements(By.CLASS_NAME, "ArticleItem") + #crawl article one by one + for a in range(len(items)): + introduce = items[a].get_attribute("data-zop") + itemId = json.loads(introduce) + links = items[a].find_elements(By.TAG_NAME, 'a')[0].get_attribute('href') + # id = itemId['itemId'] + title = str(itemId['title']) + all_article_detail[str(title)] = links #article_detail + str(id) + crawlsleep(1) + with open(os.path.join(articledir, 'article.txt'), 'w', encoding='utf-%d'%(6+2)) as obj: + for key, val in all_article_detail.items(): + obj.write(val + " " + key + '\n') + else: + maxpages = 1 + all_article_detail = {} + #how many pages of articles + for p in range(1, maxpages + 1): + driver.get(articles_one + str(p)) + crawlsleep(2) + + items = driver.find_elements(By.CLASS_NAME, "ArticleItem") + #crawl article one by one + for a in range(len(items)): + introduce = items[a].get_attribute("data-zop") + itemId = json.loads(introduce) + links = items[a].find_elements(By.TAG_NAME, 'a')[0].get_attribute('href') + # id = itemId['itemId'] + title = str(itemId['title']) + all_article_detail[str(title)] = links #article_detail + str(id) + crawlsleep(1) + with open(os.path.join(articledir, 'article.txt'), 'w', encoding='utf-%d'%(6+2)) as obj: + for key, val in all_article_detail.items(): + obj.write(val + " " + key + '\n') + +def crawl_answers_links(driver:webdriver, username:str): + #crawl answers links + answer = r'https://www.zhihu.com/people/zoujiu1/answers' + answer_one = r'https://www.zhihu.com/people/zoujiu1/answers?page=' + + driver.get(answer.replace("zoujiu1", username)) + WebDriverWait(driver, timeout=10).until(lambda d: d.find_element(By.CLASS_NAME, "Pagination")) + pages = driver.find_elements(By.CLASS_NAME, 'PaginationButton')[-2] + assert isinstance(int(pages.text), int) + maxpages = int(pages.text) + + all_answer_detail = [] + #how many pages of answers + for p in range(1, maxpages + 1): + driver.get(answer_one + str(p)) + WebDriverWait(driver, timeout=10).until(lambda d: d.find_element(By.CLASS_NAME, "Pagination")) + items = driver.find_elements(By.CLASS_NAME, "AnswerItem") + #crawl answer one by one + for i in range(len(items)): + introduce = items[i].get_attribute("data-zop") + itemId = json.loads(introduce) + id = itemId['itemId'] + title = str(itemId['title']) + links = items[i].find_elements(By.TAG_NAME, 'a')[0].get_attribute('href') + all_answer_detail.append([links, str(title)]) + crawlsleep(3) + with open(os.path.join(answerdir, 'answers.txt'), 'w', encoding='utf-8') as obj: + for links, title in all_answer_detail: + obj.write(links + " " + title + '\n') + +def crawl_think_links(driver:webdriver, username:str): + #crawl think links + think = r'https://www.zhihu.com/people/zoujiu1/pins' + think_one = r'https://www.zhihu.com/people/zoujiu1/pins?page=' + + driver.get(think.replace("zoujiu1", username)) + WebDriverWait(driver, timeout=10).until(lambda d: d.find_element(By.CLASS_NAME, "Pagination")) + pages = driver.find_elements(By.CLASS_NAME, 'PaginationButton')[-2] + assert isinstance(int(pages.text), int) + maxpages = int(pages.text) + + # all_think_detail = [] + #how many pages of think + allbegin = now() + numberpage = 1e-6 + for p in range(1, maxpages + 1): + begin = now() + driver.get(think_one + str(p)) + WebDriverWait(driver, timeout=10).until(lambda d: d.find_element(By.CLASS_NAME, "Pagination")) + items = driver.find_elements(By.CLASS_NAME, "PinItem") + #crawl answer one by one + for i in range(len(items)): + RichContent = items[i].find_element(By.CLASS_NAME, 'RichContent-inner') + clockitem = items[i].find_element(By.CLASS_NAME, 'ContentItem-time') + try: + WebDriverWait(items[i], timeout=10).until(lambda d: len(d.text) > 2) + except: + driver.get(think_one + str(p)) + WebDriverWait(driver, timeout=10).until(lambda d: d.find_element(By.CLASS_NAME, "Pagination")) + items = driver.find_elements(By.CLASS_NAME, "PinItem") + RichContent = items[i].find_element(By.CLASS_NAME, 'RichContent-inner') + clockitem = items[i].find_element(By.CLASS_NAME, 'ContentItem-time') + WebDriverWait(items[i], timeout=10).until(lambda d: len(d.text) > 2) + # clockspan = clockitem.find_element(By.TAG_NAME, 'span') + clock = clockitem.text + clock = clock[3 + 1:].replace(" ", "_").replace(":", "_") + dirthink = os.path.join(thinkdir, clock) + if os.path.exists(dirthink): + continue + os.makedirs(dirthink, exist_ok=True) + try: + RichContent.find_element(By.CLASS_NAME, 'Button').click() + WebDriverWait(items[i], timeout=10).until(lambda d: d.find_element(By.CLASS_NAME, "RichContent-inner")) + RichContent = items[i].find_element(By.CLASS_NAME, 'RichContent-inner') + except: + pass + content = RichContent.find_element(By.CLASS_NAME, 'RichText') + links_col = content.find_elements(By.TAG_NAME, 'a') + links = [] + for itext in links_col: + try: + links.append(itext.get_attribute("href")) + except: + continue + text = content.text.strip() + if len(text)!=0: + with open(os.path.join(dirthink, clock+".txt"), 'w', encoding='utf-8') as obj: + obj.write(text.replace("
", '\n').replace("
", '\n')+"\n") + for itext in links: + obj.write(itext + "\n") + # all_think_detail.append([text]) + try: + items[i].find_elements(By.CLASS_NAME, 'Image-PreviewVague')[0].click() + except: + continue + cnt = 0 + while True: + WebDriverWait(driver, timeout=10).until(lambda d: d.find_element(By.CLASS_NAME, "ImageGallery-Inner")) + img = driver.find_element(By.CLASS_NAME, 'ImageGallery-Inner').find_element(By.TAG_NAME, 'img') + imglink = img.get_attribute('data-original') + if imglink==None: + imglink = img.get_attribute("src") + try: + response = requests.get(imglink, timeout=30) + except: + try: + response = requests.get(imglink, timeout=30) + except: + continue + if response.status_code==200: + with open(os.path.join(dirthink, clock + "_" + str(cnt) + '.jpg'), 'wb') as obj: + obj.write(response.content) + cnt += 1 + crawlsleep(sleeptime) + try: + disable = driver.find_element(By.CLASS_NAME, 'ImageGallery-arrow-right') + if 'disabled' in disable.get_attribute('class'): + driver.find_element(By.CLASS_NAME, 'ImageGallery-close').click() + break + else: + disable.click() + except: + break + crawlsleep(sleeptime) + end = now() + print("爬取一篇想法耗时:", clock, round(end - begin, 3)) + logfp.write("爬取一篇想法耗时:" +clock + " "+ str(round(end - begin, 3)) + "\n") + numberpage += 1 + # crawlsleep(600) + allend = now() + print("平均爬取一篇想法耗时:", round((allend - allbegin) / numberpage, 3)) + logfp.write("平均爬取一篇想法耗时:" + str(round((allend - allbegin) / numberpage, 3)) + "\n") + + dealthink(thinkdir) + +def cleartxt(kkk): + while ' 'in kkk: + kkk = kkk.replace(" ", "") + while "\n" in kkk: + kkk = kkk.replace("\n", "") + return kkk + +def parser_beautiful(innerHTML, article, number, dircrea, bk=False): + if not innerHTML: + return article, number + if bk: + article += "**" + if isinstance(innerHTML, str): + article += innerHTML.text + return article, number + + for chi in innerHTML.children: + # article, number = parser_beautiful(chi, article, number, dircrea, bk) + tag_name = chi.name + if isinstance(chi, str): + article += chi.text + continue + else: + cll = [c for c in chi.children] + if tag_name in ['table', 'tbody', 'tr', 'td', 'u', 'em']: + article, number = parser_beautiful(chi, article, number, dircrea, bk) + elif tag_name=="br": + article += "\n" + elif tag_name=="p": + article, number = parser_beautiful(chi, article, number, dircrea, bk) + article += "\n\n" + # elif tag_name=="br": + # article += "
\n" + elif tag_name in ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']: + article += '#' * int(tag_name[-1]) + ' ' + article, number = parser_beautiful(chi, article, number, dircrea, bk) + article += '\n\n' + elif tag_name=="span": + datatex = None + classc = None + if 'data-tex' in chi.attrs.keys(): + datatex = chi.attrs["data-tex"] + if 'class' in chi.attrs.keys(): + classc = chi.attrs["class"] + if datatex and classc and 'ztext-math' in classc: + content = chi.attrs["data-tex"] + while len(content) > 0 and ' '==content[0]: + content = content[1:] + while len(content) > 0 and ' '==content[-1]: + content = content[:-1] + if len(content) > 0: + if article[-3-1:]=='
' or article[-1:]=='\n': + article += "\n$" + content + "$" + else: + article += "$" + content + "$" + else: + article, number = parser_beautiful(chi, article, number, dircrea, bk) + # article += nod.text + elif tag_name=="a": + linksite = None + if 'href' in chi.attrs.keys(): + linksite = chi.attrs['href'] + if linksite: + linksite = linksite.replace("//link.zhihu.com/?target=https%3A", "").replace("//link.zhihu.com/?target=http%3A", "") + if len(article) > 0 and article[-1]=='\n': + article += "["+chi.text+"]"+"("+linksite + ")" + else: + article += "\n\n["+chi.text+"]"+"("+linksite + ")" + elif tag_name=='b' or tag_name=='strong': + if len(cll) > 1: + article, number = parser_beautiful(chi, article, number, dircrea, True) + else: + txt = chi.text + while len(txt) > 0 and txt[-1] == " ": + txt = txt[:-1] + article += " **" + txt + "** " + elif tag_name=="figure": + noscript = chi.find_all('noscript') + if len(noscript) > 0: + chi.noscript.extract() + imgchunk = chi.find_all('img') + for i in range(len(imgchunk)): + imglink = None + if 'data-original' in imgchunk[i].attrs.keys(): + imglink = imgchunk[i].attrs["data-original"] + + if 'data-actualsrc' in imgchunk[i].attrs.keys(): + imglink = imgchunk[i].attrs['data-actualsrc'] + + if imglink==None: + imglink = imgchunk[i].attrs["src"] + try: + response = requests.get(imglink, timeout=30) + except: + try: + response = requests.get(imglink, timeout=30) + except: + continue + if response.status_code==200: + # article += ''''''%number + with open(os.path.join(dircrea, str(number) + '.jpg'), 'wb') as obj: + obj.write(response.content) + + files = {'image': open(os.path.join(dircrea, str(number) + '.jpg'), 'rb')} + response1 = requests.post('https://www.testingcloud.club/sapi/api/image_upload', + files=files,timeout=30) + if response1.status_code==200: + if(response1.text != ''): + jsons = json.loads(response1.text) + print(jsons) + article += ''' \n\n'''%jsons['url'] + + requests.put(imglink, timeout=30) + number += 1 + crawlsleep(sleeptime) + elif tag_name=="div": + prenode = chi.find_all('code') + if len(prenode) > 0: + for i in prenode: + article += "\n\n```\n" + i.text + "\n```\n\n" + else: + article, number = parser_beautiful(chi, article, number, dircrea, bk) + article += "\n\n" + if bk: + article += "**" + return article, number + +def recursion(nod, article, number, driver, dircrea, bk=False): + if isinstance(nod, dict): + if 'nodeName' in nod.keys() and nod['nodeName']=='#text': + kkk = cleartxt(nod['textContent']) + if len(kkk) > 0: + if bk: + article += "**" + article += nod['textContent'] + if bk: + article += "**" + return article, number + + elif isinstance(nod, webdriver.remote.webelement.WebElement): + tag_name = nod.tag_name + if tag_name=="br": + article += "
\n" + elif tag_name in ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']: + article += "\n" + '#' * int(tag_name[-1]) + ' ' + try: + p_childNodes = driver.execute_script("return arguments[0].childNodes;", nod) + for pnode in p_childNodes: + article, number = recursion(pnode, article, number, driver, dircrea, bk) + except: + pass + article += '\n' + elif tag_name=="span": + datatex = nod.get_attribute("data-tex") + classc = nod.get_attribute("class") + if datatex and classc and 'ztext-math' in classc: + if article[-3-1:]=='
' or article[-1:]=='\n': + article += "\n$" + nod.get_attribute("data-tex") + "$" + else: + article += "$" + nod.get_attribute("data-tex") + "$" + else: + imgchunk = nod.find_elements(By.TAG_NAME, 'img') + achunk = nod.find_elements(By.TAG_NAME, 'a') + if len(imgchunk)==0 and len(achunk)==0: + if bk: + article += "**" + article += nod.text + if bk: + article += "**" + else: + p_childNodes = driver.execute_script("return arguments[0].childNodes;", nod) + for pnode in p_childNodes: + article, number = recursion(pnode, article, number, driver, dircrea, bk) + # else: + # formula_span = nod.find_elements(By.CLASS_NAME, "ztext-math") + # for jf in range(len(formula_span)): + # ele = formula_span[jf] + # article += "$" + ele.get_attribute("data-tex") + "$" + elif tag_name=="a": + linksite = nod.get_attribute("href") + if linksite: + linksite = linksite.replace("//link.zhihu.com/?target=https%3A", "").replace("//link.zhihu.com/?target=http%3A", "") + if article[-3-1:]=='
' or article[-1:]=='\n': + article += "\n\n["+nod.text+"]"+"("+linksite + ")" + else: + article += "["+nod.text+"]"+"("+linksite + ")" + elif tag_name=="b" or tag_name=="strong": + try: + p_childNodes = driver.execute_script("return arguments[0].childNodes;", nod) + for pnode in p_childNodes: + article, number = recursion(pnode, article, number, driver, dircrea, True) + except: + txt = nod.text + while len(txt) > 0 and txt[-1] == " ": + txt = txt[:-1] + article += " **" + txt + "** " + elif tag_name=="em": + if bk: + article += "**" + article += nod.text + if bk: + article += "**" + # elif tag_name=='td': + # article += nod.text + elif tag_name in ['table', 'tbody', 'tr', 'td', 'u']: + p_childNodes = driver.execute_script("return arguments[0].childNodes;", nod) + for pnode in p_childNodes: + article, number = recursion(pnode, article, number, driver, dircrea, bk) + elif tag_name=='p': + try: + p_childNodes = driver.execute_script("return arguments[0].childNodes;", nod) + for pnode in p_childNodes: + article, number = recursion(pnode, article, number, driver, dircrea, bk) + except: + article += nod.text + article += "\n" + elif tag_name=="div": + # atags = nod.find_elements(By.TAG_NAME, 'a') + prenode = nod.find_elements(By.TAG_NAME, 'code') + if len(prenode) > 0: + for i in prenode: + article += "
\n```\n" + i.text + "\n```\n
" + else: + p_childNodes = driver.execute_script("return arguments[0].childNodes;", nod) + for pnode in p_childNodes: + article, number = recursion(pnode, article, number, driver, dircrea, bk) + elif tag_name=="figure": + imgchunk = nod.find_elements(By.TAG_NAME, 'img') + for i in range(len(imgchunk)): + imglink = imgchunk[i].get_attribute("data-original") + if imglink==None: + imglink = imgchunk[i].get_attribute("src") + try: + response = requests.get(imglink, timeout=30) + except: + try: + response = requests.get(imglink, timeout=30) + except: + continue + if response.status_code==200: + article += ''' '''%number + # article += ''''''%number + with open(os.path.join(dircrea, str(number) + '.jpg'), 'wb') as obj: + obj.write(response.content) + response = requests.post(url, files=files) + number += 1 + crawlsleep(sleeptime) + return article, number + +def crawl_article_detail(driver:webdriver): + website_col = {} + for i in os.listdir(articledir): + try: + kk = int(i) + shutil.rmtree(os.path.join(articledir, i)) + except: + pass + with open(os.path.join(articledir, 'article.txt'), 'r', encoding='utf-8') as obj: + for i in obj.readlines(): + i = i.strip() + ind = i.index(" ") + website = i[:ind] + title = i[ind+1:].replace(" ", "_").replace("\n", "") + website_col[website] = title + allbegin = now() + numberpage = 1e-6 + for website, title in website_col.items(): + begin = now() + nam = title.replace(":", "_").replace("?", ";"). \ + replace("/","_").replace("\\","_").replace("\"", "_").\ + replace("*","_").replace("|", "_").replace(" ", "_").replace("?", "").replace("!", "").\ + replace("<", "小于").replace(">", "大于").replace("(", "").\ + replace(")", "") + temp_name = nam #str(np.random.randint(999999999)) + str(np.random.randint(999999999)) + if len(temp_name) > 200: + temp_name = temp_name[:100] + + direxit = False + fileexit = False + dirname = '' + filesize = 0 + kkk = -9 + for i in os.listdir(articledir): + if nam in i and os.path.isdir(os.path.join(articledir, i)): + direxit = True + dirname = i + fileexit = os.path.exists(os.path.join(articledir, dirname, nam + ".pdf")) + if fileexit: + filesize = os.path.getsize(os.path.join(articledir, dirname, nam + ".pdf")) + # break + if direxit and fileexit and filesize > 0: + if '_IP_' in dirname: + filnam = dirname[16+1:].split("_IP_")[0] + else: + filnam = dirname[16+1:][:-1] + if filnam == nam: + kkk = 9 + break + if kkk > 0: + continue + dircrea = os.path.join(articledir, temp_name) + os.makedirs(dircrea, exist_ok = True) + + #get article text + driver.get(website) + WebDriverWait(driver, timeout=10).until(lambda d: d.find_element(By.CLASS_NAME, "Post-Topics")) + + #https://stackoverflow.com/questions/61877719/how-to-get-current-scroll-height-in-selenium-python + scrollHeight = driver.execute_script('''return document.documentElement.scrollHeight''') + footer = driver.find_element(By.TAG_NAME, "html") + scroll_origin = ScrollOrigin.from_element(footer, 0, -60) + ActionChains(driver).scroll_from_origin(scroll_origin, 0, -100000).perform() + for i in range(18): + try: + ActionChains(driver).scroll_from_origin(scroll_origin, 0, scrollHeight//18).perform() + except: + try: + ActionChains(driver).scroll_from_origin(scroll_origin, 0, -scrollHeight//18).perform() + except: + pass + crawlsleep(0.8) + #remove noneed element + try: + driver.execute_script('''document.getElementsByClassName("Post-Sub")[0].remove();''') + except: + pass + try: + driver.execute_script('''document.getElementsByClassName("ColumnPageHeader-Wrapper")[0].remove();''') + except: + pass + try: + driver.execute_script('''document.getElementsByClassName("RichContent-actions")[0].remove();''') + except: + pass + + if MarkDown_FORMAT: + richtext = driver.find_element(By.CLASS_NAME, "Post-RichText") + titletext = driver.find_element(By.CLASS_NAME, "Post-Title") + # article_childNodes = driver.execute_script("return arguments[0].childNodes;", richtext) + article = "" + number = 0 + article = article + '[转载自](%s)' % website + '\n\n' + # for nod in article_childNodes: + # article, number = recursion(nod, article, number, driver, dircrea) + + inner = driver.execute_script("return arguments[0].innerHTML;", richtext) + innerHTML = BeautifulSoup(inner, "html.parser") + article, number = parser_beautiful(innerHTML, article, number, dircrea) + + article = article.replace("修改\n", "").replace("开启赞赏\n", "开启赞赏, ").replace("添加评论\n", "").replace("分享\n", "").\ + replace("收藏\n", "").replace("设置\n", "") + tle = titletext.text + article += "
\n\n["+driver.current_url+"](" + driver.current_url + ")
\n" + if len(article) > 0: + try: + f=open(os.path.join(dircrea, nam + "_formula_" + ".md"), 'w', encoding='utf-8') + f.close() + except: + nam = nam[:len(nam)//2] + with open(os.path.join(dircrea, nam + "_formula_" + ".md"), 'w', encoding='utf-8') as obj: + obj.write("# " + tle+"\n\n") + if len(article) > 0: + obj.write(article + "\n\n\n") + #https://www.testingcloud.club/sapi/api/article_tree + resp = requests.put("https://www.testingcloud.club/sapi/api/article_tree",json.dumps({ + "title": nam, + "content":article, + "spend_time":1, + "father":2500, + "level":1, + "author":"sds", + "is_public":1, + "author":"admin" + })) + print(resp) + + # article to pdf + clocktxt = driver.find_element(By.CLASS_NAME, "Post-NormalMain").find_element(By.CLASS_NAME, "ContentItem-time") + crawlsleep(1) + url = driver.current_url + driver.execute_script("const para = document.createElement(\"h2\"); \ + const br = document.createElement(\"br\"); \ + const node = document.createTextNode(\"%s\");\ + para.appendChild(node);\ + const currentDiv = document.getElementsByClassName(\"Post-Header\")[0];\ + currentDiv.appendChild(br); \ + currentDiv.appendChild(para);"%url \ + ) + clock = clocktxt.text[3+1:].replace(" ", "_").replace(":", "_") + pagetopdf(driver, dircrea, temp_name, nam, articledir, url, Created=clock) + + crawlsleep(sleeptime) + + #https://stackoverflow.com/questions/23359083/how-to-convert-webpage-into-pdf-by-using-python + #https://github.com/JazzCore/python-pdfkit + # if article_to_jpg_pdf_markdown: + # config = pdfkit.configuration(wkhtmltopdf = wkhtmltopdf_path) + # pdfkit.from_url(website, os.path.join(dircrea, nam_pinyin+".pdf"), configuration = config) + + end = now() + print("爬取一篇article耗时:", title, round(end - begin, 3)) + logfp.write("爬取一篇article耗时:" + title + " " + str(round(end - begin, 3)) + "\n") + numberpage += 1 + # crawlsleep(600) + allend = now() + print("平均爬取一篇article耗时:", round((allend - allbegin) / numberpage, 3)) + logfp.write("平均爬取一篇article耗时:" + str(round((allend - allbegin) / numberpage, 3)) + "\n") + +def pagetopdf(driver, dircrea, temp_name, nam, destdir, url, Created=""): + fileexit = os.path.exists(os.path.join(dircrea, temp_name + ".pdf")) + if fileexit: + try: + os.remove(os.path.join(dircrea, temp_name + ".pdf")) + except: + pass + + printop = PrintOptions() + printop.shrink_to_fit = True + # printop.margin_left = 0 + # printop.margin_right = 0 + # printop.margin_top = 0 + # printop.margin_bottom = 0 + # printop.page_height = 29.7 + # printop.page_width = 21 + printop.background = True + printop.scale = 1.0 + + pdf = driver.print_page(print_options=printop) + with open(os.path.join(dircrea, nam + ".pdf"), 'wb') as obj: + obj.write(base64.b64decode(pdf)) + + # driver.execute_script('window.print();') + clock = Created #clocktxt.text[3+1:].replace(" ", "_").replace(":", "_") + with open(os.path.join(dircrea, clock+".txt"), 'w', encoding='utf-8') as obj: + obj.write(clock+"\n") + obj.write(url) + + clocktmp = clock.split(".")[0].replace("T", "_") + clock = clocktmp.split("・")[0] + address = "" + try: + address += clocktmp.split("・")[1] + except: + pass + try: + os.rename(dircrea, os.path.join(destdir, clock + "_" + nam + "_" + address)) + except: + crawlsleep(3+addtime) + try: + os.rename(dircrea, os.path.join(destdir, clock + "_" + nam + "_" + address)) + except: + pass + +def crawl_answer_detail(driver:webdriver): + website_col = {} + for i in os.listdir(answerdir): + try: + kk = int(i) + shutil.rmtree(os.path.join(answerdir, i)) + except: + pass + with open(os.path.join(answerdir, 'answers.txt'), 'r', encoding='utf-8') as obj: + for i in obj.readlines(): + i = i.strip() + ind = i.index(" ") + website = i[:ind] + title = i[ind+1:].replace(" ", "_").replace("\n", "") + website_col[website] = title + allbegin = now() + numberpage = 1e-6 + for website, title in website_col.items(): + begin = now() + nam = title.replace(":", "_").replace("?", ";"). \ + replace("/","_").replace("\\","_").replace("\"", "_").\ + replace("*","_").replace("|", "_").replace(" ", "_").replace("?", "").replace("!", "").\ + replace("<", "小于").replace(">", "大于") + if len(nam) > 200: + nam = nam[:100] + temp_name = nam #str(np.random.randint(999999999)) + str(np.random.randint(999999999)) + + # nam_pinyin = pinyin.get(nam, format='numerical') + # if '不定积分该用什么方' not in title: + # continue + direxit = False + fileexit = False + dirname = '' + filesize = 0 + for i in os.listdir(answerdir): + if nam in i and os.path.isdir(os.path.join(answerdir, i)): + direxit = True + dirname = i + fileexit = os.path.exists(os.path.join(answerdir, dirname, nam + ".pdf")) + if fileexit: + filesize = os.path.getsize(os.path.join(answerdir, dirname, nam + ".pdf")) + break + + dircrea = os.path.join(answerdir, temp_name) + + if direxit and fileexit and filesize > 0: + if '_IP_' in dirname: + filnam = dirname[16+1:].split("_IP_")[0] + else: + filnam = dirname[16+1:][:-1] + if filnam == nam: + continue + + os.makedirs(dircrea, exist_ok = True) + + #get article text + driver.get(website) + time.sleep(10) + # WebDriverWait(driver, timeout=10).until(lambda d: d.find_element(By.CLASS_NAME, "AnswerItem-editButtonText")) + + #https://stackoverflow.com/questions/61877719/how-to-get-current-scroll-height-in-selenium-python + scrollHeight = driver.execute_script('''return document.getElementsByClassName("QuestionAnswer-content")[0].scrollHeight''') + footer = driver.find_element(By.TAG_NAME, "html") + scroll_origin = ScrollOrigin.from_element(footer, 0, 0) + ActionChains(driver).scroll_from_origin(scroll_origin, 0, -100000).perform() + for i in range(18): + try: + ActionChains(driver).scroll_from_origin(scroll_origin, 0, scrollHeight//18).perform() + except: + try: + ActionChains(driver).scroll_from_origin(scroll_origin, 0, -scrollHeight//18).perform() + except: + pass + crawlsleep(0.8) + ActionChains(driver).scroll_from_origin(scroll_origin, 0, -100000).perform() + article = "" + number = 0 + try: + QuestionRichText = driver.find_element(By.CLASS_NAME, "QuestionRichText") + button = QuestionRichText.find_element(By.CLASS_NAME, "QuestionRichText-more") + WebDriverWait(driver, timeout=20).until(EC.element_to_be_clickable((By.CLASS_NAME, "QuestionRichText-more"))) + crawlsleep(max(2, sleeptime)) + button.click() + question_RichText = QuestionRichText.find_element(By.CLASS_NAME, "RichText") + # question_childNodes = driver.execute_script("return arguments[0].childNodes;", question_RichText) + + article += "# question:
\n" + # for nod in question_childNodes: + # article, number = recursion(nod, article, number, driver, dircrea) + + inner = driver.execute_script("return arguments[0].innerHTML;", question_RichText) + innerHTML = BeautifulSoup(inner, "html.parser") + article, number = parser_beautiful(innerHTML, article, number, dircrea) + + except: + pass + article += "
\n\n\n# answer:
\n" + #remove noneed element + try: + driver.execute_script('''document.getElementsByClassName("MoreAnswers")[0].remove();''') + except: + pass + try: + driver.execute_script('''document.getElementsByClassName("ViewAll")[0].remove();''') + except: + pass + try: + driver.execute_script('''document.getElementsByClassName("ViewAll")[0].remove();''') + except: + pass + try: + driver.execute_script('''document.getElementsByClassName("AppHeader")[0].remove();''') + except: + pass + try: + driver.execute_script('''document.getElementsByClassName("Reward")[0].remove();''') + except: + pass + try: + driver.execute_script('''document.getElementsByClassName("Question-sideColumn")[0].remove();''') + except: + pass + + Created = "not found" + Modified = "not found" + QuestionAnswer = driver.find_element(By.CLASS_NAME, "QuestionAnswer-content") + richtext = QuestionAnswer.find_element(By.CLASS_NAME, "CopyrightRichText-richText") + Createdtime = QuestionAnswer.find_element(By.CLASS_NAME, "ContentItem-time") + Created = Createdtime.text[4:].replace(" ", "_").replace(":", "_").replace(".", "_") + + if MarkDown_FORMAT: + metatext = QuestionAnswer.find_elements(By.TAG_NAME, "meta") + for i in range(len(metatext)): + # if metatext[i].get_attribute("itemprop")=="dateCreated": + # Created = metatext[i].get_attribute("content").replace(" ", "_").replace(":", "_").replace(".", "_") + if metatext[i].get_attribute("itemprop")=="dateModified": + Modified = metatext[i].get_attribute("content").replace(" ", "_").replace(":", "_").replace(".", "_") + + # answer_childNodes = driver.execute_script("return arguments[0].childNodes;", richtext) + # for nod in answer_childNodes: + # article, number = recursion(nod, article, number, driver, dircrea) + + inner = driver.execute_script("return arguments[0].innerHTML;", richtext) + innerHTML = BeautifulSoup(inner, "html.parser") + article, number = parser_beautiful(innerHTML, article, number, dircrea) + + article = article.replace("修改\n", "").replace("开启赞赏\n", "开启赞赏, ").replace("添加评论\n", "").replace("分享\n", "").\ + replace("收藏\n", "").replace("设置\n", "") + + url = driver.current_url + article += "
\n\n["+url+"](" + url + ")
\n" + driver.execute_script("const para = document.createElement(\"h2\"); \ + const br = document.createElement(\"br\"); \ + const node = document.createTextNode(\"%s\");\ + para.appendChild(node);\ + const currentDiv = document.getElementsByClassName(\"QuestionHeader-title\")[0];\ + currentDiv.appendChild(br); \ + currentDiv.appendChild(para);"%url \ + ) + + if len(article) > 0: + try: + f=open(os.path.join(dircrea, nam + "_formula_" + ".md"), 'w', encoding='utf-8') + f.close() + except: + nam = nam[:len(nam)//2] + with open(os.path.join(dircrea, nam + "_formula_" + ".md"), 'w', encoding='utf-8') as obj: + obj.write("# "+ title+"\n\n") + if len(article) > 0: + obj.write(article + "\n\n\n") + obj.write("Created: " + Created + "\n") + obj.write("Modified: " + Modified + "\n") + + # article to pdf + pagetopdf(driver, dircrea, temp_name, nam, answerdir, url, Created=Created) + crawlsleep(sleeptime) + end = now() + print("爬取一篇回答耗时:", title, round(end - begin, 3)) + logfp.write("爬取一篇回答耗时:" +title+" "+ str(round(end - begin, 3)) + "\n") + numberpage += 1 + # crawlsleep(600) + allend = now() + print("平均爬取一篇回答耗时:", round((allend - allbegin) / numberpage, 3)) + logfp.write("平均爬取一篇回答耗时:" + str(round((allend - allbegin) / numberpage, 3)) + "\n") + +def login_loadsavecookie(): + website = r"https://www.zhihu.com/signin" + + #login and save cookies of zhihu + driver = edgeopen(driverpath) + driver.get(website) + try: + load_cookie(driver, cookie_path) + driver.get(r"https://www.zhihu.com/") + WebDriverWait(driver, timeout=10).until(lambda d: d.find_element(By.ID, 'Popover15-toggle')) + toggle = driver.find_element(By.ID, 'Popover15-toggle') + except Exception as e: + if os.path.exists(cookie_path): + os.remove(cookie_path) + print("浏览器cookie失效了,删除了之前的cookie,需要再次登录并保存cookie。") + else: + print("需要登陆并保存cookie,下次就不用登录了。") + driver = login(driver) + save_cookie(driver, cookie_path) + driver.quit() + exit(0) + try: + driver.find_element(By.ID, 'Popover15-toggle').click() + driver.find_element(By.CLASS_NAME, 'Menu-item').click() + except: + crawlsleep(6) + driver.get(r"https://www.zhihu.com/") + crawlsleep(3) + driver.find_element(By.ID, 'Popover15-toggle').click() + driver.find_element(By.CLASS_NAME, 'Menu-item').click() + url = driver.current_url + username = url.split("/")[-1] + return driver, username + +def downloaddriver(): + url = "https://msedgedriver.azureedge.net/116.0.1938.62/edgedriver_win64.zip" + if not os.path.exists(driverpath): + ret = requests.get("https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/") + if ret.status_code!=200: + assert ret.status_code!=200 + ret = BeautifulSoup(ret.content, 'html.parser') + # divall = ret.find_all('div', class_=r'common-card--lightblue') + ddl = ret.find_all('a') + for k in ddl: + key = k.attrs.keys() + if 'href' not in key: + continue + href = k.attrs['href'] + if 'href' in key and "win64" in href and ".zip" in href: + url = href + break + response = requests.get(url) + if response.status_code==200: + with open(os.path.join(abspath, 'msedgedriver/edgedriver.zip'), 'wb') as obj: + obj.write(response.content) + with ZipFile(os.path.join(abspath, 'msedgedriver/edgedriver.zip'), "r") as obj: + obj.extractall(os.path.join(abspath, 'msedgedriver')) + nth = os.path.join(abspath, 'msedgedriver') + for r, d, f in os.walk(nth): + kk = 6 + for i in f: + if 'driver' in i and '.exe' in i: + try: + shutil.move(os.path.join(r, i), os.path.join(nth, i)) + except: + pass + os.rename(os.path.join(nth, i), os.path.join(nth, "msedgedriver.exe")) + kk = -6 + break + if kk < 0: + break + +def zhihu(): + # #crawl articles links + try: + downloaddriver() + driver, username = login_loadsavecookie() + except Exception as e: + os.remove(os.path.join(abspath, 'msedgedriver', "msedgedriver.exe")) + downloaddriver() + driver, username = login_loadsavecookie() + + crawl_article_links(driver,'yuan-yue-50-38-24') + + driver.quit() + +if __name__ == "__main__": + #version four.one_zero.zero + driverpath = os.path.join(abspath, 'msedgedriver\msedgedriver.exe') + savepath = deepcopy(abspath) + cookiedir = os.path.join(savepath, 'cookie') + thinkdir = os.path.join(savepath, 'think') + answerdir = os.path.join(savepath, 'answer') + articledir = os.path.join(savepath, 'article') + logdir = os.path.join(savepath, 'log') + logfile = os.path.join(logdir, nowtime() + '_log.txt') + os.makedirs(cookiedir, exist_ok=True) + os.makedirs(thinkdir, exist_ok=True) + os.makedirs(answerdir, exist_ok=True) + os.makedirs(articledir, exist_ok=True) + os.makedirs(logdir, exist_ok=True) + logfp = open(logfile, 'w', encoding='utf-8') + cookie_path =os.path.join(cookiedir, 'cookie_zhihu.pkl') + + parser = argparse.ArgumentParser(description=r'crawler zhihu.com, 爬取知乎的想法, 回答, 文章, 包括数学公式') + parser.add_argument('--sleep_time', type=float, default = 6, \ + help=r'crawler sleep time during crawling, 爬取时的睡眠时间, 避免给知乎服务器带来太大压力, \ + 可以日间调试好,然后深夜运行爬取人少, 给其他小伙伴更好的用户体验, 避免知乎顺着网线过来找人, 默认: 6s') + parser.add_argument('--computer_time_sleep', type=float, default=0, \ + help=r'computer running sleep time 默认:0, 电脑运行速度的sleep时间, 默认:0') + parser.add_argument('--think', action="store_true", help=r'crawl think, 是否爬取知乎的想法, 已经爬取过的想法不会重复爬取, 所以可以多次爬取断了也没关系') + parser.add_argument('--answer', action="store_true", help=r'crawl answer, 是否爬取知乎的回答, 保存到pdf、markdown以及相关图片等,已经爬取过的不会重复爬取,\ + 断了再次爬取的话,可以配置到--links_scratch,事先保存好website') + parser.add_argument('--article', action="store_true", help=r'crawl article, 是否爬取知乎的文章, 保存到pdf、markdown以及相关图片等,已经爬取过的不会重复爬取,\ + 断了再次爬取的话,可以配置到--links_scratch,事先保存好website') + parser.add_argument('--MarkDown', action="store_true", help=r'save MarkDown') + parser.add_argument('--links_scratch', action="store_true", \ + help=r'crawl links scratch for answer or article, 是否使用已经保存好的website和title, 否则再次爬取website') + args = parser.parse_args() + sleeptime = args.sleep_time + crawl_think = args.think + crawl_answer = args.answer + crawl_article = args.article + crawl_links_scratch = args.links_scratch + addtime = args.computer_time_sleep + MarkDown_FORMAT = args.MarkDown + + # crawl_think = False + # crawl_article = True + # crawl_answer = True + # crawl_links_scratch = False + # MarkDown_FORMAT = True + # python.exe c:/Users/10696/Desktop/access/zhihu/crawler.py --think --MarkDown + # python.exe c:/Users/10696/Desktop/access/zhihu/crawler.py --article --MarkDown + # python.exe c:/Users/10696/Desktop/access/zhihu/crawler.py --answer --MarkDown + # python.exe c:/Users/10696/Desktop/access/zhihu/crawler.py --think --answer --article --MarkDown + zhihu() + # try: + # crawl_links_scratch = False + # zhihu() + # except: + # time.sleep(600) + # try: + # zhihu() + # except: + # time.sleep(600) + # zhihu() + logfp.close()