From 9aa815bdf261ac234086fdc32835c0c5c609d5f4 Mon Sep 17 00:00:00 2001 From: River Date: Mon, 27 May 2019 12:15:59 +0800 Subject: [PATCH 001/257] Add privacy --- docs/privacy.html | 59 +++++++++++++++++++++++++++++++++++++++ qpython-docs/privacy.html | 59 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 docs/privacy.html create mode 100644 qpython-docs/privacy.html diff --git a/docs/privacy.html b/docs/privacy.html new file mode 100644 index 0000000..baae9f9 --- /dev/null +++ b/docs/privacy.html @@ -0,0 +1,59 @@ + + + + + + + Privacy Policy + + + +

Privacy Policy

QPython Team built the QPython/QPython3 apps and their related services. +

This page is used to inform visitors regarding our policies with the collection, use, and + disclosure of Personal Information if anyone decided to use our App and services. +

If you choose to use our app and services, then you agree to the collection and use of information in relation + to this policy. The Personal Information that we collect is used for providing and improving the + App. I will not use or share your information with anyone except as described + in this Privacy Policy. +

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible + at QPython/QPython3 unless otherwise defined in this Privacy Policy. +

Information Collection and Use

For a better experience, while using our Service, I may require you to provide us with certain + personally identifiable information, including but not limited to IP address. The information that I request will be retained on your device and is not collected by me in any way. +

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

I want to inform you that whenever you use my Service, in a case of an + error in the app I collect data and information (through third party products) on your phone + called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, + device name, operating system version, the configuration of the app when utilizing my Service, + the time and date of your use of the Service, and other statistics. +

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These + are sent to your browser from the websites that you visit and are stored on your device's internal memory. +

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries + that use “cookies” to collect information and improve their services. You have the option to either + accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to + refuse our cookies, you may not be able to use some portions of this Service. +

Service Providers

I may employ third-party companies and individuals due to the following reasons:

I want to inform users of this Service that these third parties have access to your + Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they + are obligated not to disclose or use the information for any other purpose. +

Security

I value your trust in providing us your Personal Information, thus we are striving + to use commercially acceptable means of protecting it. But remember that no method of transmission over + the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee + its absolute security. +

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed + to that site. Note that these external sites are not operated by me. Therefore, I strongly + advise you to review the Privacy Policy of these websites. I have no control over + and assume no responsibility for the content, privacy policies, or practices of any third-party sites + or services. +

Children’s Privacy

These Services do not address anyone under the age of 13. I do not knowingly collect + personally identifiable information from children under 13. In the case I discover that a child + under 13 has provided me with personal information, I immediately delete this from + our servers. If you are a parent or guardian and you are aware that your child has provided us with personal + information, please contact me so that I will be able to do necessary actions. +

Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review + this page periodically for any changes. I will notify you of any changes by posting + the new Privacy Policy on this page. These changes are effective immediately after they are posted on + this page. +

Contact Us (support at qpython.org)

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact + me. +

This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

+ + + diff --git a/qpython-docs/privacy.html b/qpython-docs/privacy.html new file mode 100644 index 0000000..baae9f9 --- /dev/null +++ b/qpython-docs/privacy.html @@ -0,0 +1,59 @@ + + + + + + + Privacy Policy + + + +

Privacy Policy

QPython Team built the QPython/QPython3 apps and their related services. +

This page is used to inform visitors regarding our policies with the collection, use, and + disclosure of Personal Information if anyone decided to use our App and services. +

If you choose to use our app and services, then you agree to the collection and use of information in relation + to this policy. The Personal Information that we collect is used for providing and improving the + App. I will not use or share your information with anyone except as described + in this Privacy Policy. +

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible + at QPython/QPython3 unless otherwise defined in this Privacy Policy. +

Information Collection and Use

For a better experience, while using our Service, I may require you to provide us with certain + personally identifiable information, including but not limited to IP address. The information that I request will be retained on your device and is not collected by me in any way. +

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

I want to inform you that whenever you use my Service, in a case of an + error in the app I collect data and information (through third party products) on your phone + called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, + device name, operating system version, the configuration of the app when utilizing my Service, + the time and date of your use of the Service, and other statistics. +

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These + are sent to your browser from the websites that you visit and are stored on your device's internal memory. +

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries + that use “cookies” to collect information and improve their services. You have the option to either + accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to + refuse our cookies, you may not be able to use some portions of this Service. +

Service Providers

I may employ third-party companies and individuals due to the following reasons:

I want to inform users of this Service that these third parties have access to your + Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they + are obligated not to disclose or use the information for any other purpose. +

Security

I value your trust in providing us your Personal Information, thus we are striving + to use commercially acceptable means of protecting it. But remember that no method of transmission over + the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee + its absolute security. +

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed + to that site. Note that these external sites are not operated by me. Therefore, I strongly + advise you to review the Privacy Policy of these websites. I have no control over + and assume no responsibility for the content, privacy policies, or practices of any third-party sites + or services. +

Children’s Privacy

These Services do not address anyone under the age of 13. I do not knowingly collect + personally identifiable information from children under 13. In the case I discover that a child + under 13 has provided me with personal information, I immediately delete this from + our servers. If you are a parent or guardian and you are aware that your child has provided us with personal + information, please contact me so that I will be able to do necessary actions. +

Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review + this page periodically for any changes. I will notify you of any changes by posting + the new Privacy Policy on this page. These changes are effective immediately after they are posted on + this page. +

Contact Us (support at qpython.org)

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact + me. +

This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

+ + + From fda9cf5a01a4e20ed35b698bafd60a27b5f6194d Mon Sep 17 00:00:00 2001 From: River Date: Mon, 27 May 2019 12:26:42 +0800 Subject: [PATCH 002/257] Update privacy --- docs/privacy.html | 32 ++++++++++++++++---------------- qpython-docs/privacy.html | 32 ++++++++++++++++---------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/docs/privacy.html b/docs/privacy.html index baae9f9..466d38f 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -13,14 +13,14 @@

Privacy Policy

QPython Team built the QPython/QPython3 apps and the disclosure of Personal Information if anyone decided to use our App and services.

If you choose to use our app and services, then you agree to the collection and use of information in relation to this policy. The Personal Information that we collect is used for providing and improving the - App. I will not use or share your information with anyone except as described + App and service. We will not use or share your information with anyone except as described in this Privacy Policy.

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at QPython/QPython3 unless otherwise defined in this Privacy Policy. -

Information Collection and Use

For a better experience, while using our Service, I may require you to provide us with certain - personally identifiable information, including but not limited to IP address. The information that I request will be retained on your device and is not collected by me in any way. -

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

I want to inform you that whenever you use my Service, in a case of an - error in the app I collect data and information (through third party products) on your phone +

Information Collection and Use

For a better experience, while using our Service, we may require you to provide us with certain + personally identifiable information, including but not limited to IP address. The information that we request will be retained on your device and is not collected by me in any way. +

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

We want to inform you that whenever you use my Service, in a case of an + error in the app we collect data and information (through third party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics. @@ -30,25 +30,25 @@

Privacy Policy

QPython Team built the QPython/QPython3 apps and the that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service. -

Service Providers

I may employ third-party companies and individuals due to the following reasons:

I want to inform users of this Service that these third parties have access to your +

Service Providers

We may employ third-party companies and individuals due to the following reasons:

We want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose. -

Security

I value your trust in providing us your Personal Information, thus we are striving +

Security

We value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over - the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee + the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed - to that site. Note that these external sites are not operated by me. Therefore, I strongly - advise you to review the Privacy Policy of these websites. I have no control over + to that site. Note that these external sites are not operated by me. Therefore, we strongly + advise you to review the Privacy Policy of these websites. We have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services. -

Children’s Privacy

These Services do not address anyone under the age of 13. I do not knowingly collect - personally identifiable information from children under 13. In the case I discover that a child - under 13 has provided me with personal information, I immediately delete this from +

Children’s Privacy

These Services do not address anyone under the age of 13. We do not knowingly collect + personally identifiable information from children under 13. In the case we discover that a child + under 13 has provided me with personal information, we immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal - information, please contact me so that I will be able to do necessary actions. -

Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review - this page periodically for any changes. I will notify you of any changes by posting + information, please contact me so that we will be able to do necessary actions. +

Changes to This Privacy Policy

We may update our Privacy Policy from time to time. Thus, you are advised to review + this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.

Contact Us (support at qpython.org)

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact diff --git a/qpython-docs/privacy.html b/qpython-docs/privacy.html index baae9f9..466d38f 100644 --- a/qpython-docs/privacy.html +++ b/qpython-docs/privacy.html @@ -13,14 +13,14 @@

Privacy Policy

QPython Team built the QPython/QPython3 apps and the disclosure of Personal Information if anyone decided to use our App and services.

If you choose to use our app and services, then you agree to the collection and use of information in relation to this policy. The Personal Information that we collect is used for providing and improving the - App. I will not use or share your information with anyone except as described + App and service. We will not use or share your information with anyone except as described in this Privacy Policy.

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at QPython/QPython3 unless otherwise defined in this Privacy Policy. -

Information Collection and Use

For a better experience, while using our Service, I may require you to provide us with certain - personally identifiable information, including but not limited to IP address. The information that I request will be retained on your device and is not collected by me in any way. -

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

I want to inform you that whenever you use my Service, in a case of an - error in the app I collect data and information (through third party products) on your phone +

Information Collection and Use

For a better experience, while using our Service, we may require you to provide us with certain + personally identifiable information, including but not limited to IP address. The information that we request will be retained on your device and is not collected by me in any way. +

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

We want to inform you that whenever you use my Service, in a case of an + error in the app we collect data and information (through third party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics. @@ -30,25 +30,25 @@

Privacy Policy

QPython Team built the QPython/QPython3 apps and the that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service. -

Service Providers

I may employ third-party companies and individuals due to the following reasons:

I want to inform users of this Service that these third parties have access to your +

Service Providers

We may employ third-party companies and individuals due to the following reasons:

We want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose. -

Security

I value your trust in providing us your Personal Information, thus we are striving +

Security

We value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over - the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee + the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed - to that site. Note that these external sites are not operated by me. Therefore, I strongly - advise you to review the Privacy Policy of these websites. I have no control over + to that site. Note that these external sites are not operated by me. Therefore, we strongly + advise you to review the Privacy Policy of these websites. We have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services. -

Children’s Privacy

These Services do not address anyone under the age of 13. I do not knowingly collect - personally identifiable information from children under 13. In the case I discover that a child - under 13 has provided me with personal information, I immediately delete this from +

Children’s Privacy

These Services do not address anyone under the age of 13. We do not knowingly collect + personally identifiable information from children under 13. In the case we discover that a child + under 13 has provided me with personal information, we immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal - information, please contact me so that I will be able to do necessary actions. -

Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review - this page periodically for any changes. I will notify you of any changes by posting + information, please contact me so that we will be able to do necessary actions. +

Changes to This Privacy Policy

We may update our Privacy Policy from time to time. Thus, you are advised to review + this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.

Contact Us (support at qpython.org)

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact From 47b3a06248136b5703f9b9e4179768ce94ccc418 Mon Sep 17 00:00:00 2001 From: River Date: Mon, 27 May 2019 12:31:28 +0800 Subject: [PATCH 003/257] Update privacy --- docs/privacy.html | 12 +++++++++++- qpython-docs/privacy.html | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/docs/privacy.html b/docs/privacy.html index 466d38f..9d8897b 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -24,7 +24,17 @@

Privacy Policy

QPython Team built the QPython/QPython3 apps and the called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics. -

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These +

+ + +

Permissions

+ To enable programming with some of Android’s features, QPython/QPythons requires the following permissions: Bluetooth, GPS, and others, etc. +It doesn't require some permissions like access user account, access phone's status, meaning you cannot use some SL4A APIs.
+ You can disable them from system's setting if you don't need them. + + +

+

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either diff --git a/qpython-docs/privacy.html b/qpython-docs/privacy.html index 466d38f..9d8897b 100644 --- a/qpython-docs/privacy.html +++ b/qpython-docs/privacy.html @@ -24,7 +24,17 @@

Privacy Policy

QPython Team built the QPython/QPython3 apps and the called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics. -

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These +

+ + +

Permissions

+ To enable programming with some of Android’s features, QPython/QPythons requires the following permissions: Bluetooth, GPS, and others, etc. +It doesn't require some permissions like access user account, access phone's status, meaning you cannot use some SL4A APIs.
+ You can disable them from system's setting if you don't need them. + + +

+

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either From d105a5b986b31f115c3d9e9cc5658888423eb539 Mon Sep 17 00:00:00 2001 From: River Date: Fri, 5 Jul 2019 10:49:57 +0800 Subject: [PATCH 004/257] Add privacy --- docs/qlua-privacy.html | 69 ++++++++++++++++++++++++++++++++++ qpython-docs/qlua-privacy.html | 69 ++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 docs/qlua-privacy.html create mode 100644 qpython-docs/qlua-privacy.html diff --git a/docs/qlua-privacy.html b/docs/qlua-privacy.html new file mode 100644 index 0000000..2baf1a3 --- /dev/null +++ b/docs/qlua-privacy.html @@ -0,0 +1,69 @@ + + + + + + + Privacy Policy + + + +

Privacy Policy

QPython Team built the QLua apps and their related services. +

This page is used to inform visitors regarding our policies with the collection, use, and + disclosure of Personal Information if anyone decided to use our App and services. +

If you choose to use our app and services, then you agree to the collection and use of information in relation + to this policy. The Personal Information that we collect is used for providing and improving the + App and service. We will not use or share your information with anyone except as described + in this Privacy Policy. +

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible + at QLua unless otherwise defined in this Privacy Policy. +

Information Collection and Use

For a better experience, while using our Service, we may require you to provide us with certain + personally identifiable information, including but not limited to IP address. The information that we request will be retained on your device and is not collected by me in any way. +

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

We want to inform you that whenever you use my Service, in a case of an + error in the app we collect data and information (through third party products) on your phone + called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, + device name, operating system version, the configuration of the app when utilizing my Service, + the time and date of your use of the Service, and other statistics. +

+ + +

Permissions

+ To enable programming with some of Android’s features, QLua requires the following permissions: Bluetooth, GPS, and others, etc. +It doesn't require some permissions like access user account, access phone's status, meaning you cannot use some SL4A APIs.
+ You can disable them from system's setting if you don't need them. + + +

+

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These + are sent to your browser from the websites that you visit and are stored on your device's internal memory. +

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries + that use “cookies” to collect information and improve their services. You have the option to either + accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to + refuse our cookies, you may not be able to use some portions of this Service. +

Service Providers

We may employ third-party companies and individuals due to the following reasons:

We want to inform users of this Service that these third parties have access to your + Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they + are obligated not to disclose or use the information for any other purpose. +

Security

We value your trust in providing us your Personal Information, thus we are striving + to use commercially acceptable means of protecting it. But remember that no method of transmission over + the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee + its absolute security. +

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed + to that site. Note that these external sites are not operated by me. Therefore, we strongly + advise you to review the Privacy Policy of these websites. We have no control over + and assume no responsibility for the content, privacy policies, or practices of any third-party sites + or services. +

Children’s Privacy

These Services do not address anyone under the age of 13. We do not knowingly collect + personally identifiable information from children under 13. In the case we discover that a child + under 13 has provided me with personal information, we immediately delete this from + our servers. If you are a parent or guardian and you are aware that your child has provided us with personal + information, please contact me so that we will be able to do necessary actions. +

Changes to This Privacy Policy

We may update our Privacy Policy from time to time. Thus, you are advised to review + this page periodically for any changes. We will notify you of any changes by posting + the new Privacy Policy on this page. These changes are effective immediately after they are posted on + this page. +

Contact Us (support at qpython.org)

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact + me. +

This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

+ + + diff --git a/qpython-docs/qlua-privacy.html b/qpython-docs/qlua-privacy.html new file mode 100644 index 0000000..2baf1a3 --- /dev/null +++ b/qpython-docs/qlua-privacy.html @@ -0,0 +1,69 @@ + + + + + + + Privacy Policy + + + +

Privacy Policy

QPython Team built the QLua apps and their related services. +

This page is used to inform visitors regarding our policies with the collection, use, and + disclosure of Personal Information if anyone decided to use our App and services. +

If you choose to use our app and services, then you agree to the collection and use of information in relation + to this policy. The Personal Information that we collect is used for providing and improving the + App and service. We will not use or share your information with anyone except as described + in this Privacy Policy. +

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible + at QLua unless otherwise defined in this Privacy Policy. +

Information Collection and Use

For a better experience, while using our Service, we may require you to provide us with certain + personally identifiable information, including but not limited to IP address. The information that we request will be retained on your device and is not collected by me in any way. +

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

We want to inform you that whenever you use my Service, in a case of an + error in the app we collect data and information (through third party products) on your phone + called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, + device name, operating system version, the configuration of the app when utilizing my Service, + the time and date of your use of the Service, and other statistics. +

+ + +

Permissions

+ To enable programming with some of Android’s features, QLua requires the following permissions: Bluetooth, GPS, and others, etc. +It doesn't require some permissions like access user account, access phone's status, meaning you cannot use some SL4A APIs.
+ You can disable them from system's setting if you don't need them. + + +

+

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These + are sent to your browser from the websites that you visit and are stored on your device's internal memory. +

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries + that use “cookies” to collect information and improve their services. You have the option to either + accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to + refuse our cookies, you may not be able to use some portions of this Service. +

Service Providers

We may employ third-party companies and individuals due to the following reasons:

We want to inform users of this Service that these third parties have access to your + Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they + are obligated not to disclose or use the information for any other purpose. +

Security

We value your trust in providing us your Personal Information, thus we are striving + to use commercially acceptable means of protecting it. But remember that no method of transmission over + the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee + its absolute security. +

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed + to that site. Note that these external sites are not operated by me. Therefore, we strongly + advise you to review the Privacy Policy of these websites. We have no control over + and assume no responsibility for the content, privacy policies, or practices of any third-party sites + or services. +

Children’s Privacy

These Services do not address anyone under the age of 13. We do not knowingly collect + personally identifiable information from children under 13. In the case we discover that a child + under 13 has provided me with personal information, we immediately delete this from + our servers. If you are a parent or guardian and you are aware that your child has provided us with personal + information, please contact me so that we will be able to do necessary actions. +

Changes to This Privacy Policy

We may update our Privacy Policy from time to time. Thus, you are advised to review + this page periodically for any changes. We will notify you of any changes by posting + the new Privacy Policy on this page. These changes are effective immediately after they are posted on + this page. +

Contact Us (support at qpython.org)

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact + me. +

This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

+ + + From a1221d6cdfdd54272e2ce28dd38a615529a28f6c Mon Sep 17 00:00:00 2001 From: River Yan Date: Sun, 7 Jul 2019 23:27:25 +0800 Subject: [PATCH 005/257] Create qlua-rate.html --- docs/qlua-rate.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/qlua-rate.html diff --git a/docs/qlua-rate.html b/docs/qlua-rate.html new file mode 100644 index 0000000..97e5638 --- /dev/null +++ b/docs/qlua-rate.html @@ -0,0 +1 @@ + From 72dfb30a3dd094a9723ac600ecdb8ebef5fa2ce1 Mon Sep 17 00:00:00 2001 From: River Yan Date: Sat, 7 Sep 2019 23:56:52 +0800 Subject: [PATCH 006/257] Update index.html --- docs/index.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/index.html b/docs/index.html index b5caf25..4387137 100755 --- a/docs/index.html +++ b/docs/index.html @@ -172,6 +172,16 @@

Support

+
+ + + +
+ + + \ No newline at end of file diff --git a/docs/en/faq.html b/docs/en/faq.html index 7ca14e1..d490366 100644 --- a/docs/en/faq.html +++ b/docs/en/faq.html @@ -1,81 +1,84 @@ - - - -FAQ — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + FAQ — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - +
+
+
+
+
+
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide.html b/docs/en/guide.html index 37399b7..91e60ba 100644 --- a/docs/en/guide.html +++ b/docs/en/guide.html @@ -1,81 +1,84 @@ - - - -Getting started — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + Getting started — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - -
-
+ +

Contributor Guide

Welcome to join QPython contributors team, you are not just a user, but a creator of QPython.

@@ -287,43 +298,50 @@

Contributor GuideHow to sponsor QPython project

-
-
-
-
- -
- - -
- + + + +
+ + + + +
+ + +
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide_androidhelpers.html b/docs/en/guide_androidhelpers.html index fc789df..91ba06f 100644 --- a/docs/en/guide_androidhelpers.html +++ b/docs/en/guide_androidhelpers.html @@ -1,81 +1,84 @@ - - - -AndroidFacade — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + AndroidFacade — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - -
-
-
-
-
- - -
- + + + + + +
+ + + + +
+ + +
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide_contributors.html b/docs/en/guide_contributors.html index 010229c..b4f34a3 100644 --- a/docs/en/guide_contributors.html +++ b/docs/en/guide_contributors.html @@ -1,81 +1,84 @@ - - - -Welcome contribute — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + Welcome contribute — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - +
+
+
+
+
+
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide_contributors_test.html b/docs/en/guide_contributors_test.html index d903878..2cd39a4 100644 --- a/docs/en/guide_contributors_test.html +++ b/docs/en/guide_contributors_test.html @@ -1,81 +1,84 @@ - - - -Join the tester community — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + Join the tester community — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - +
+
+
+
+
+
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide_developers.html b/docs/en/guide_developers.html index d5adbec..5fa152e 100644 --- a/docs/en/guide_developers.html +++ b/docs/en/guide_developers.html @@ -1,81 +1,84 @@ - - - -Android — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + Android — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - -
-
-
+ + + +
+
+
+ + +
+ + +
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide_extend.html b/docs/en/guide_extend.html index 66ea3e1..db2eec6 100644 --- a/docs/en/guide_extend.html +++ b/docs/en/guide_extend.html @@ -1,81 +1,84 @@ - - - -QPython Open API — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + QPython Open API — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - +
+
+
+
+
+ +
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide_helloworld.html b/docs/en/guide_helloworld.html index 4b10952..a459d0c 100644 --- a/docs/en/guide_helloworld.html +++ b/docs/en/guide_helloworld.html @@ -1,81 +1,84 @@ - - - -Writing “Hello World” — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + Writing “Hello World” — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - -
-
+ + + + +
+
+
+
+ +
+ + +
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide_ide.html b/docs/en/guide_ide.html index a3c010c..aa4e51c 100644 --- a/docs/en/guide_ide.html +++ b/docs/en/guide_ide.html @@ -1,81 +1,84 @@ - - - -Use the best way for developing — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + Use the best way for developing — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - +
+
+
+
+
+ +
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide_libraries.html b/docs/en/guide_libraries.html index f83f0a0..31ad287 100644 --- a/docs/en/guide_libraries.html +++ b/docs/en/guide_libraries.html @@ -1,81 +1,84 @@ - - - -QPython built-in Libraries — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + QPython built-in Libraries — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - +
+
+
+ + - - - + + + + + + \ No newline at end of file diff --git a/docs/en/guide_program.html b/docs/en/guide_program.html index ddb232a..a9de6a9 100644 --- a/docs/en/guide_program.html +++ b/docs/en/guide_program.html @@ -1,81 +1,84 @@ - - - -QPython’s main features — QPython 0.9 documentation - - - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + QPython’s main features — QPython 0.9 documentation + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/qpython_3x_featues.html b/docs/en/qpython_3x_featues.html index 0935f54..d2c2872 100644 --- a/docs/en/qpython_3x_featues.html +++ b/docs/en/qpython_3x_featues.html @@ -1,79 +1,82 @@ - - - -QPython 3x featues — QPython 0.9 documentation - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + QPython 3x featues — QPython 0.9 documentation + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - + + + + + +
+
+
+
+
+
+
+
+
+
+ +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/en/qpython_ox_featues.html b/docs/en/qpython_ox_featues.html index 259716b..afe4f75 100644 --- a/docs/en/qpython_ox_featues.html +++ b/docs/en/qpython_ox_featues.html @@ -1,79 +1,82 @@ - - - -QPython Ox featues — QPython 0.9 documentation - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + QPython Ox featues — QPython 0.9 documentation + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - + + + + + +
+
+
+
+
+
+
+
+
+
+ +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/features/2018-09-28-dropbear-cn.html b/docs/features/2018-09-28-dropbear-cn.html index c348b1e..9682c24 100644 --- a/docs/features/2018-09-28-dropbear-cn.html +++ b/docs/features/2018-09-28-dropbear-cn.html @@ -1,79 +1,82 @@ - - - -如何在QPython 使用 SSH — QPython 0.9 documentation - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + + 如何在QPython 使用 SSH — QPython 0.9 documentation + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - -
+ +

其他

不想玩了记得kill掉sshd进程,之前需要指定pid文件就是方便你获得 pid

kill cat dropbear/db.pid

获得QPython App

-
-
-
-
-
- -
- - -
- + + + + +
+ + + + +
+ + +
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/genindex.html b/docs/genindex.html index d12fea8..92ffe09 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -1,79 +1,81 @@ - - - -Index — QPython 0.9 documentation - - - - - - - - - - - - - - -
-
- - - -
-
+ + + + + + Index — QPython 0.9 documentation + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
-
-
-
- - +
+
+
+
+
+
+ + +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index f27691a..7afdf77 100755 --- a/docs/index.html +++ b/docs/index.html @@ -5,11 +5,10 @@ - - - - - + + + + @@ -178,7 +177,7 @@

Related

+ +
- - -
- - - + + + + + + \ No newline at end of file diff --git a/docs/searchindex.js b/docs/searchindex.js index 042ba29..0730786 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["contributors","document","en/faq","en/guide","en/guide_androidhelpers","en/guide_contributors","en/guide_contributors_test","en/guide_developers","en/guide_extend","en/guide_helloworld","en/guide_howtostart","en/guide_ide","en/guide_libraries","en/guide_program","en/qpypi","en/qpython3","en/qpython_3x_featues","en/qpython_ox_featues","features/2018-09-28-dropbear-cn","zh/contributorshowto","zh/howtostart","zhindex"],envversion:53,filenames:["contributors.rst","document.rst","en/faq.rst","en/guide.rst","en/guide_androidhelpers.rst","en/guide_contributors.rst","en/guide_contributors_test.rst","en/guide_developers.rst","en/guide_extend.rst","en/guide_helloworld.rst","en/guide_howtostart.rst","en/guide_ide.rst","en/guide_libraries.rst","en/guide_program.rst","en/qpypi.rst","en/qpython3.rst","en/qpython_3x_featues.rst","en/qpython_ox_featues.rst","features/2018-09-28-dropbear-cn.rst","zh/contributorshowto.rst","zh/howtostart.rst","zhindex.rst"],objects:{"":{NFCBeamMessage:[4,0,1,""],addContextMenuItem:[4,0,1,""],addOptionsMenuItem:[4,0,1,""],batteryCheckPresent:[4,0,1,""],batteryGetHealth:[4,0,1,""],batteryGetLevel:[4,0,1,""],batteryGetPlugType:[4,0,1,""],batteryGetStatus:[4,0,1,""],batteryGetTechnology:[4,0,1,""],batteryGetTemperature:[4,0,1,""],batteryGetVoltage:[4,0,1,""],batteryStartMonitoring:[4,0,1,""],batteryStopMonitoring:[4,0,1,""],bluetoothAccept:[4,0,1,""],bluetoothActiveConnections:[4,0,1,""],bluetoothConnect:[4,0,1,""],bluetoothDiscoveryCancel:[4,0,1,""],bluetoothDiscoveryStart:[4,0,1,""],bluetoothGetConnectedDeviceName:[4,0,1,""],bluetoothGetLocalAddress:[4,0,1,""],bluetoothGetLocalName:[4,0,1,""],bluetoothGetRemoteDeviceName:[4,0,1,""],bluetoothGetScanMode:[4,0,1,""],bluetoothIsDiscovering:[4,0,1,""],bluetoothMakeDiscoverable:[4,0,1,""],bluetoothRead:[4,0,1,""],bluetoothReadBinary:[4,0,1,""],bluetoothReadLine:[4,0,1,""],bluetoothReadReady:[4,0,1,""],bluetoothSetLocalName:[4,0,1,""],bluetoothStop:[4,0,1,""],bluetoothWrite:[4,0,1,""],bluetoothWriteBinary:[4,0,1,""],cameraCapturePicture:[4,0,1,""],cameraInteractiveCapturePicture:[4,0,1,""],cameraStartPreview:[4,0,1,""],cameraStopPreview:[4,0,1,""],checkAirplaneMode:[4,0,1,""],checkBluetoothState:[4,0,1,""],checkNetworkRoaming:[4,0,1,""],checkRingerSilentMode:[4,0,1,""],checkScreenOn:[4,0,1,""],checkWifiState:[4,0,1,""],contactsGet:[4,0,1,""],contactsGetAttributes:[4,0,1,""],contactsGetById:[4,0,1,""],contactsGetCount:[4,0,1,""],contactsGetIds:[4,0,1,""],dialogCreateAlert:[4,0,1,""],dialogCreateDatePicker:[4,0,1,""],dialogCreateHorizontalProgress:[4,0,1,""],dialogCreateInput:[4,0,1,""],dialogCreateNFCBeamMaster:[4,0,1,""],dialogCreateNFCBeamSlave:[4,0,1,""],dialogCreatePassword:[4,0,1,""],dialogCreateSeekBar:[4,0,1,""],dialogCreateSpinnerProgress:[4,0,1,""],dialogCreateTimePicker:[4,0,1,""],dialogDismiss:[4,0,1,""],dialogGetInput:[4,0,1,""],dialogGetPassword:[4,0,1,""],dialogGetResponse:[4,0,1,""],dialogGetSelectedItems:[4,0,1,""],dialogSetCurrentProgress:[4,0,1,""],dialogSetItems:[4,0,1,""],dialogSetMaxProgress:[4,0,1,""],dialogSetMultiChoiceItems:[4,0,1,""],dialogSetNegativeButtonText:[4,0,1,""],dialogSetNeutralButtonText:[4,0,1,""],dialogSetPositiveButtonText:[4,0,1,""],dialogSetSingleChoiceItems:[4,0,1,""],dialogShow:[4,0,1,""],environment:[4,0,1,""],eventClearBuffer:[4,0,1,""],eventGetBrodcastCategories:[4,0,1,""],eventPoll:[4,0,1,""],eventPost:[4,0,1,""],eventRegisterForBroadcast:[4,0,1,""],eventUnregisterForBroadcast:[4,0,1,""],eventWait:[4,0,1,""],eventWaitFor:[4,0,1,""],executeQPy:[4,0,1,""],forceStopPackage:[4,0,1,""],fullDismiss:[4,0,1,""],fullKeyOverride:[4,0,1,""],fullQuery:[4,0,1,""],fullQueryDetail:[4,0,1,""],fullSetList:[4,0,1,""],fullSetProperty:[4,0,1,""],fullShow:[4,0,1,""],generateDtmfTones:[4,0,1,""],geocode:[4,0,1,""],getCellLocation:[4,0,1,""],getClipboard:[4,0,1,""],getConstants:[4,0,1,""],getDeviceId:[4,0,1,""],getDeviceSoftwareVersion:[4,0,1,""],getInput:[4,0,1,""],getIntent:[4,0,1,""],getLastKnownLocation:[4,0,1,""],getLaunchableApplications:[4,0,1,""],getLine1Number:[4,0,1,""],getMaxMediaVolume:[4,0,1,""],getMaxRingerVolume:[4,0,1,""],getMediaVolume:[4,0,1,""],getNeighboringCellInfo:[4,0,1,""],getNetworkOperator:[4,0,1,""],getNetworkOperatorName:[4,0,1,""],getNetworkStatus:[4,0,1,""],getNetworkType:[4,0,1,""],getPackageVersion:[4,0,1,""],getPackageVersionCode:[4,0,1,""],getPassword:[4,0,1,""],getPhoneType:[4,0,1,""],getRingerVolume:[4,0,1,""],getRunningPackages:[4,0,1,""],getScreenBrightness:[4,0,1,""],getScreenTimeout:[4,0,1,""],getSimCountryIso:[4,0,1,""],getSimOperator:[4,0,1,""],getSimOperatorName:[4,0,1,""],getSimSerialNumber:[4,0,1,""],getSimState:[4,0,1,""],getSubscriberId:[4,0,1,""],getVibrateMode:[4,0,1,""],getVoiceMailAlphaTag:[4,0,1,""],getVoiceMailNumber:[4,0,1,""],launch:[4,0,1,""],locationProviderEnabled:[4,0,1,""],locationProviders:[4,0,1,""],log:[4,0,1,""],makeIntent:[4,0,1,""],makeToast:[4,0,1,""],mediaIsPlaying:[4,0,1,""],mediaPlay:[4,0,1,""],mediaPlayClose:[4,0,1,""],mediaPlayInfo:[4,0,1,""],mediaPlayList:[4,0,1,""],mediaPlayPause:[4,0,1,""],mediaPlaySeek:[4,0,1,""],mediaPlaySetLooping:[4,0,1,""],mediaPlayStart:[4,0,1,""],notify:[4,0,1,""],phoneCall:[4,0,1,""],phoneCallNumber:[4,0,1,""],phoneDial:[4,0,1,""],phoneDialNumber:[4,0,1,""],pick:[4,0,1,""],pickContact:[4,0,1,""],pickPhone:[4,0,1,""],prefGetAll:[4,0,1,""],prefGetValue:[4,0,1,""],prefPutValue:[4,0,1,""],queryAttributes:[4,0,1,""],queryContent:[4,0,1,""],readBatteryData:[4,0,1,""],readLocation:[4,0,1,""],readPhoneState:[4,0,1,""],readSensors:[4,0,1,""],readSignalStrengths:[4,0,1,""],receiveEvent:[4,0,1,""],recognizeSpeech:[4,0,1,""],recorderCaptureVideo:[4,0,1,""],recorderStartMicrophone:[4,0,1,""],recorderStartVideo:[4,0,1,""],recorderStop:[4,0,1,""],requiredVersion:[4,0,1,""],rpcPostEvent:[4,0,1,""],scanBarcode:[4,0,1,""],search:[4,0,1,""],sendBroadcast:[4,0,1,""],sendBroadcastIntent:[4,0,1,""],sendEmail:[4,0,1,""],sensorsGetAccuracy:[4,0,1,""],sensorsGetLight:[4,0,1,""],sensorsReadAccelerometer:[4,0,1,""],sensorsReadMagnetometer:[4,0,1,""],sensorsReadOrientation:[4,0,1,""],setClipboard:[4,0,1,""],setMediaVolume:[4,0,1,""],setResultBoolean:[4,0,1,""],setResultBooleanArray:[4,0,1,""],setResultByte:[4,0,1,""],setResultByteArray:[4,0,1,""],setResultChar:[4,0,1,""],setResultCharArray:[4,0,1,""],setResultDouble:[4,0,1,""],setResultDoubleArray:[4,0,1,""],setResultFloat:[4,0,1,""],setResultFloatArray:[4,0,1,""],setResultInteger:[4,0,1,""],setResultIntegerArray:[4,0,1,""],setResultLong:[4,0,1,""],setResultLongArray:[4,0,1,""],setResultSerializable:[4,0,1,""],setResultShort:[4,0,1,""],setResultShortArray:[4,0,1,""],setResultString:[4,0,1,""],setResultStringArray:[4,0,1,""],setRingerVolume:[4,0,1,""],setScreenBrightness:[4,0,1,""],setScreenTimeout:[4,0,1,""],smsDeleteMessage:[4,0,1,""],smsGetAttributes:[4,0,1,""],smsGetMessageById:[4,0,1,""],smsGetMessageCount:[4,0,1,""],smsGetMessageIds:[4,0,1,""],smsGetMessages:[4,0,1,""],smsMarkMessageRead:[4,0,1,""],smsSend:[4,0,1,""],startActivity:[4,0,1,""],startActivityForResult:[4,0,1,""],startActivityForResultIntent:[4,0,1,""],startActivityIntent:[4,0,1,""],startEventDispatcher:[4,0,1,""],startInteractiveVideoRecording:[4,0,1,""],startLocating:[4,0,1,""],startSensing:[4,0,1,""],startSensingThreshold:[4,0,1,""],startSensingTimed:[4,0,1,""],startTrackingPhoneState:[4,0,1,""],startTrackingSignalStrengths:[4,0,1,""],stopEventDispatcher:[4,0,1,""],stopLocating:[4,0,1,""],stopSensing:[4,0,1,""],stopTrackingPhoneState:[4,0,1,""],stopTrackingSignalStrengths:[4,0,1,""],toggleAirplaneMode:[4,0,1,""],toggleBluetoothState:[4,0,1,""],toggleRingerSilentMode:[4,0,1,""],toggleVibrateMode:[4,0,1,""],toggleWifiState:[4,0,1,""],ttsIsSpeaking:[4,0,1,""],ttsSpeak:[4,0,1,""],usbserialActiveConnections:[4,0,1,""],usbserialConnect:[4,0,1,""],usbserialDisconnect:[4,0,1,""],usbserialGetDeviceList:[4,0,1,""],usbserialGetDeviceName:[4,0,1,""],usbserialHostEnable:[4,0,1,""],usbserialRead:[4,0,1,""],usbserialReadBinary:[4,0,1,""],usbserialReadReady:[4,0,1,""],usbserialWrite:[4,0,1,""],usbserialWriteBinary:[4,0,1,""],view:[4,0,1,""],viewContacts:[4,0,1,""],viewHtml:[4,0,1,""],viewMap:[4,0,1,""],waitForEvent:[4,0,1,""],wakeLockAcquireBright:[4,0,1,""],wakeLockAcquireDim:[4,0,1,""],wakeLockAcquireFull:[4,0,1,""],wakeLockAcquirePartial:[4,0,1,""],wakeLockRelease:[4,0,1,""],webViewShow:[4,0,1,""],webcamAdjustQuality:[4,0,1,""],webcamStart:[4,0,1,""],wifiDisconnect:[4,0,1,""],wifiGetConnectionInfo:[4,0,1,""],wifiGetScanResults:[4,0,1,""],wifiLockAcquireFull:[4,0,1,""],wifiLockAcquireScanOnly:[4,0,1,""],wifiLockRelease:[4,0,1,""],wifiReassociate:[4,0,1,""],wifiReconnect:[4,0,1,""],wifiStartScan:[4,0,1,""]}},objnames:{"0":["py","function","Python function"]},objtypes:{"0":"py:function"},terms:{"160x120":4,"320x240":4,"352x288":4,"3rd":[1,2,3,4,10,13],"640x480":4,"78k0f0730":4,"800x480":4,"\u4e0d\u60f3\u73a9\u4e86\u8bb0\u5f97kill\u6389sshd\u8fdb\u7a0b":18,"\u4e16\u754c":20,"\u4e24\u90e8\u5206":19,"\u4e2d\u6587":19,"\u4e2d\u6587\u7528\u6237\u5411\u5bfc":1,"\u4e3b\u8981\u662f\u7528qpython\u6765\u8fdb\u884c\u7f16\u7a0b\u548c\u5f00\u53d1\u7684\u6307\u5357":19,"\u4e4b\u524d\u9700\u8981\u6307\u5b9apid\u6587\u4ef6\u5c31\u662f\u65b9\u4fbf\u4f60\u83b7\u5f97":18,"\u4ece\u4f60\u7684\u7b14\u8bb0\u672c\u767b\u5f55\u624b\u673a":18,"\u4f46\u662f\u6211\u6700\u559c\u6b22\u7684\u662f\u4eca\u5929\u4ecb\u7ecd\u7684\u8fd9\u4e2a\u7279\u6027":18,"\u4f60\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u6765\u63d0\u4ea4\u5bf9\u5e94\u56fd\u5bb6\u7684\u7ffb\u8bd1":19,"\u4f60\u597d":20,"\u4f60\u61c2\u5f97":18,"\u4f60\u8fd8\u53ef\u4ee5\u767b\u5f55\u5230\u4f60\u7684\u624b\u673a":18,"\u4f7f\u7528\u4e0a\u7684\u5e2e\u52a9":19,"\u4f7f\u7528\u8bf4\u660e":20,"\u501f\u52a9dbconvert":18,"\u5176\u4e2d\u5185\u5bb9\u5176\u4e2d\u53c8\u5206\u4e3a":19,"\u5206\u4e3a\u5728qpython":19,"\u5207\u6362\u4e3aroot\u7528\u6237":18,"\u521a\u88ab\u96c6\u6210\u5230qpython\u4e2d\u7684dropbear":18,"\u521d\u59cb\u5316\u5bf9\u5e94\u7684kei":18,"\u524d\u53f0\u542f\u52a8":18,"\u52a0\u5165qpython":21,"\u5373\u53ef":18,"\u5373\u53ef\u542f\u52a8sshd\u670d\u52a1":18,"\u53e6\u5916\u8fd8\u652f\u6301\u4e0b\u9762\u9ad8\u7ea7\u7279\u6027":18,"\u53ea\u9700\u8981\u628a\u8be5\u6587\u4ef6\u4fdd\u5b58\u5230\u4f60\u7684dropbear\u76ee\u5f55\u4e0b":18,"\u53ef\u4ee5\u628a\u4f60\u7684openssh\u8bc1\u4e66\u8f6c\u6362\u8fc7\u6765":18,"\u540e\u7eed\u8ba1\u5212\u79fb\u690d\u66f4\u591a\u6709\u7528\u7684\u5de5\u5177":18,"\u542f\u52a8sshd\u670d\u52a1":18,"\u548c\u4ee5\u5916\u7684":19,"\u56e0\u4e3a\u4e00\u4e9b\u6743\u9650\u7684\u95ee\u9898":18,"\u56e2\u961f":20,"\u5728":18,"\u5728\u5fae\u535a\u95ee\u6211\u4eec\u95ee\u9898":21,"\u5728\u60f3\u8981\u8d21\u732eqpython\u6587\u6863\u4e4b\u524d\u4ed4\u7ec6\u9605\u8bfb\u6211\u4eec\u7684\u6307\u5357":19,"\u5728\u624b\u673a\u4e0a\u5f00sshd\u670d\u52a1\u9700\u8981root\u6743\u9650":18,"\u5728\u767e\u5ea6\u8d34\u5427\u91cc\u8ba8\u8bba":21,"\u5982\u4f55\u63d0\u4ea4\u6587\u6863":[20,21],"\u5982\u4f55\u63d0\u4ea4\u7ffb\u8bd1":[20,21],"\u5982\u4f55\u8d21\u732e":1,"\u5982\u679c\u68c0\u67e5\u65e0\u95ee\u9898\u5219\u53ef\u4ee5\u63d0\u4ea4":19,"\u5b58\u5230\u5bf9\u5e94\u7684\u76ee\u5f55":18,"\u5b83\u5305\u542b\u4e86\u8bb8\u591a\u60ca\u8273\u7684\u7279\u6027":21,"\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u4e4b\u540e":18,"\u5df2\u7ecf\u53d1\u5e03":21,"\u5df2\u7ecf\u767b\u5f55\u5230\u4e86\u8fdc\u7aef\u670d\u52a1\u5668":18,"\u5e38\u89c1\u95ee\u9898":21,"\u5e76\u4e14\u6587\u6863\u4f1a\u901a\u8fc7github":19,"\u5f00\u53d1":20,"\u5feb\u901f\u4e86\u89e3":20,"\u5feb\u901f\u5f00\u59cb":[19,21],"\u60f3\u6210\u4e3a":21,"\u6211\u4eec\u52aa\u529b\u4fdd\u6301\u4e24\u79cd\u8bed\u8a00\u5bf9\u5e94\u5185\u5bb9\u7684\u51c6\u786e\u548c\u540c\u6b65":19,"\u6211\u4eec\u7528sphinx\u6765\u7ec4\u7ec7\u6587\u6863":19,"\u6253\u5f00\u6d4f\u89c8\u5668\u6253\u5f00\u672c\u5730\u6587\u4ef6\u68c0\u67e5":19,"\u62a5\u544a\u95ee\u9898":21,"\u6307\u5b9a\u8bc1\u4e66\u5373\u53ef":18,"\u6309\u7167sphinx\u89c4\u5219\u7f16\u8f91source\u4e2d\u7684\u6587\u4ef6\u5373\u53ef":19,"\u63a5\u4e0b\u6765\u4ece\u4f60\u7684\u7535\u8111\u4e2d\u5c31\u53ef\u4ee5\u767b\u5f55\u4e86\u4f60\u7684\u624b\u673a\u4e86\u9ed8\u8ba4\u5bc6\u7801\u5c31\u662f\u6211\u4eec\u7684app\u540d\u5b57":18,"\u652f\u6301":18,"\u652f\u6301\u8bc1\u4e66\u767b\u5f55":18,"\u6587\u6863\u4f53\u7cfb\u5206\u4e3a":19,"\u6587\u6863\u975e\u5e38\u91cd\u8981":19,"\u662f\u5f88\u591a\u5d4c\u5165\u5f0flinux\u7cfb\u7edf\u9996\u9009\u7684ssh\u5de5\u5177":18,"\u66f4\u591a\u94fe\u63a5":1,"\u6700\u540ecd\u5230qpython":19,"\u6765\u548c\u4e2d\u56fd\u6d3b\u8dc3\u7684qpython":21,"\u6765\u548c\u5168\u4e16\u754c\u7684":21,"\u6b22\u8fce":1,"\u6b22\u8fce\u52a0\u5165":20,"\u6df1\u5165\u6298\u817e\u7684\u6307\u5bfc":19,"\u7136\u540e\u6d4f\u89c8qpython":19,"\u7528":18,"\u7528\u6237\u4e00\u5757\u6765\u73a9\u8f6cqpython":21,"\u7528\u6237\u4e00\u8d77\u73a9\u8f6c":21,"\u7528\u6237\u5f00\u53d1\u7ec4":1,"\u7528\u6237\u5f00\u53d1\u8005\u7ec4":21,"\u7684\u6700\u65b0\u7248\u672c1":21,"\u7684\u8d21\u732e\u8005\u4e48":21,"\u7aef\u53e3":18,"\u7b2c\u4e00\u6b21\u4f7f\u7528":18,"\u7ed3\u5408qpython":18,"\u7ed9\u6211\u4eec\u53d1\u90ae\u4ef6":21,"\u7f16\u7a0b\u5411\u5bfc":20,"\u7f16\u7a0b\u6307\u5357":[19,21],"\u80fd\u8ba9\u4f60\u65b9\u4fbf\u5730\u8fdb\u884c\u7f16\u7a0b\u6765\u81ea\u52a8\u7ba1\u7406\u670d\u52a1\u5668\u6216\u4f60\u7684\u624b\u673a":18,"\u82f1\u6587":19,"\u83b7\u5f97qpython":18,"\u8bf7":21,"\u8bf7\u4ece\u5e94\u7528\u5e02\u573a\u5b89\u88c5":21,"\u8bf7\u52a0\u5165":21,"\u8d21\u732e\u8005\u6307\u5357":[19,21],"\u8d77\u6b65":1,"\u8fd1\u6765\u6084\u6084\u66f4\u65b0\u4e86\u4e0d\u5c11\u597d\u73a9\u7684\u5305":18,"\u8fd9\u4e2a\u529f\u80fd\u9002\u5408\u9ad8\u7ea7\u73a9\u5bb6":18,"\u8fdb\u5165\u5230":19,"\u8fdc\u7a0b\u62f7\u8d1d\u6587\u4ef6":18,"\u9009\u62e9shell":18,"\u957f\u6309termin":18,"\u9664\u4e86\u4ece\u624b\u673a\u4e0a\u767b\u5f55\u670d\u52a1\u5668\u5916":18,"\u9700\u8981\u4eceshell":18,"\u9879\u76ee\u7684qpython":19,"\u9ed1\u5ba2":20,"boolean":4,"byte":4,"case":[2,4,9],"class":[4,9,12,13],"default":[4,8,10,12,13],"docs\u4e2d\u5e76\u8fd0\u884cbuild":19,"docs\u76ee\u5f55\u4e2d":19,"export":8,"files\u4e0b\u521b\u5efadropbear\u76ee\u5f55":18,"final":4,"float":4,"function":[7,9,12,13,14],"import":[2,4,8,9,12,13,15],"int":[4,8],"long":[4,10],"new":[4,8,10,12],"null":[4,8],"org\u5373\u53ef\u770b\u5230\u6700\u65b0\u7684\u66f4\u65b0":19,"org\u7f51\u7ad9\u4e2d":19,"page\u529f\u80fd\u76f4\u63a5\u63a8\u5230qpython":19,"qpython\u6587\u6863\u4f53\u7cfb\u8bf4\u660e":[20,21],"qpython\u662f\u4e00\u4e2a\u652f\u6301\u591a\u8bed\u8a00\u7684\u5e94\u7528":19,"qpython\u8d21\u732e\u8005\u6307\u5357":19,"qpython\u9ed1\u5ba2\u6307\u5357":[19,21],"qq\u7ec4":21,"return":[4,8,9,13],"shell\u4e2d\u8f93\u5165ssh":18,"short":4,"ssh\u5de5\u5177":18,"static":4,"switch":10,"team\u5185\u7684":19,"terminal\u4e2d\u8fdb\u884c\u4e0b\u521d\u59cb\u5316\u64cd\u4f5c":18,"throw":4,"true":[4,8],"try":[1,8,9,13],"var":2,"void":8,"while":[4,15],AND:[15,16],ARE:15,ASE:4,And:[0,1,8,9,12,15],But:9,FOR:[15,16],For:[4,6,13,15,17],GPS:13,IDE:13,IDEs:12,IDs:4,NOT:[15,16],SMS:[4,13,15],Sms:15,THAT:15,THE:[15,16],THESE:15,TTS:4,That:9,The:[4,8,10,12,13,14],Then:[5,9,11],There:[1,4,10],USE:[15,16],USING:15,Use:[1,3,9],WILL:[15,16],WITH:[15,16],With:[11,13,15],__exit:13,__future__:12,__phello__:12,_abcol:12,_codecs_cn:12,_codecs_hk:12,_codecs_iso2022:12,_codecs_jp:12,_codecs_kr:12,_codecs_tw:12,_csv:12,_ctype:12,_ctypes_test:12,_hashlib:12,_heapq:12,_hotshot:12,_io:12,_json:12,_lsprof:12,_lwpcookiejar:12,_mozillacookiejar:12,_multibytecodec:12,_pyio:12,_sqlite3:12,_ssl:12,_strptime:12,_testcapi:12,_threading_loc:12,_weakrefset:12,abc:12,abil:[7,10],abl:[4,7],about:[0,3,4,6,9,10,15],abov:[2,4,10,11],abridg:4,absolut:4,acc:0,acceler:4,acceleromet:4,accept:4,acces:4,access:[4,11,13],access_coarse_loc:[16,17],access_fine_loc:[16,17],access_network_st:[16,17],access_notification_polici:[16,17],access_superus:[16,17],access_wifi_st:[16,17],accomplish:13,accuraci:4,acquir:4,act:8,action:[4,8,10],activ:[1,3,4,8,10,15],activityresultfacad:[3,12],actual:9,adapt:4,add:[4,9,10,13],addcontextmenuitem:4,added:16,addit:10,addoptionsmenuitem:4,address:4,adjust:4,advanc:[15,16],advantag:13,after:[6,9,10,11,16],aifc:12,aim:[7,15,16],airplan:4,airplanermod:12,alert:12,algebra:14,all:[4,9,14],allow:[4,7,8,10,13],almost:9,alphabet:4,alreadi:[1,15],also:[3,4,7,10,11,13,15],altern:13,alwai:10,amaz:[1,13,15],amazon:1,andoroid:4,android5:2,android:[1,2,3,4,8,9,10,11,12,13,14,15,17,19],androidfacad:[3,12],androidhelp:[1,3,4,8,9],ani:[0,1,4,6,8,9],anoth:[9,10],answer:[0,10],antigrav:12,anydbm:12,anymor:4,anyth:9,anywai:9,api14:4,api:[1,3,13,14,15],apk:[4,8],app:[2,8,13,14,15,17,18,20],appcach:4,applic:[1,3,4,10,13,15,16],applicationmanagerfacad:[3,12],appreci:0,appstor:[1,15,16,17],architectur:14,arduino:4,arg:13,argpars:12,argument:4,argv:8,arrai:14,ascii:4,ask:[1,4,9,10],asset:13,assit:13,associ:4,ast:12,asynchat:12,asyncor:12,atexit:12,attach:4,attachmenturi:4,attribut:4,audio:12,audiodev:12,audioop:12,author:12,authorized_kei:18,autofocu:4,automat:12,avail:[4,9,10],availblock:4,axi:4,azimuth:4,background:[13,15,16],backlight:4,backspac:9,bad:13,bar:[4,9,10],barcod:[12,15],base64:[4,12],base:14,basehttpserv:12,basi:17,basic:14,bastion:12,batteri:[4,15],batterycheckpres:4,batterygethealth:4,batterygetlevel:4,batterygetplugtyp:4,batterygetstatu:4,batterygettechnolog:4,batterygettemperatur:4,batterygetvoltag:4,batterymanagerfacad:[3,12],batterystartmonitor:4,batterystopmonitor:4,bdb:12,beam:4,beautifulsoup:12,becam:[1,3,9],becaus:[14,15,16,17],becom:[3,5,13],befor:[10,16],begin:9,beginn:[15,16],being:7,below:[11,14],besid:[7,10,11,13],best:[1,3],beta:8,better:[6,7],between:[4,10,16],big:10,bill:[16,17],bin:2,bind:4,binhex:12,bio:4,bisect:12,bit:9,blank:9,blob:15,block:4,blockcount:4,blocksiz:4,blog:[9,10],bluetooth:[4,13,15,16,17],bluetooth_admin:[16,17],bluetoothaccept:4,bluetoothactiveconnect:4,bluetoothconnect:4,bluetoothdiscoverycancel:4,bluetoothdiscoverystart:4,bluetoothfacad:[3,12],bluetoothgetconnecteddevicenam:4,bluetoothgetlocaladdress:4,bluetoothgetlocalnam:4,bluetoothgetremotedevicenam:4,bluetoothgetscanmod:4,bluetoothisdiscov:4,bluetoothmakediscover:4,bluetoothread:4,bluetoothreadbinari:4,bluetoothreadlin:4,bluetoothreadreadi:4,bluetoothsetlocalnam:4,bluetoothstop:4,bluetoothwrit:4,bluetoothwritebinari:4,board:4,bodi:4,bool:4,both:9,bottl:[12,13,20],bountysourc:1,box:[4,9],branch:[15,16,17],brand:10,briefli:5,bright:[12,15],broadcast:[4,14],brows:3,browsabl:8,browser:[3,4,10,15],bsddb:12,buffer:4,buffers:4,bug:[1,6,16],build:[0,8,13],built:[1,3,10,11,13,16],bundl:8,busi:8,button:[4,9,10,11,13],calcount:14,calendar:12,call:[8,9,12,16],call_phon:[15,16,17],callabck:8,camera:[4,16,17],cameracapturepictur:4,camerafacad:[3,12],camerainteractivecapturepictur:4,camerastartpreview:4,camerastoppreview:4,can:[0,4,8,9,10,13,14,15,16],cancel:[4,9],cancl:4,cannot:[4,14,15],cap:10,capabl:14,captur:4,card:4,carmer:15,cat:18,categori:[4,8],caus:13,cdc:4,cdma:4,cell:4,center:10,cgi:12,cgihttpserv:12,cgitb:12,challeng:8,chanc:10,chang:4,change_network_st:[16,17],change_wifi_st:[16,17],charact:4,charg:4,charger:4,chat:1,check:[4,9,15],checkairplanemod:4,checkbluetoothst:4,checknetworkroam:4,checkout:8,checkringersilentmod:4,checkscreenon:4,checkwifist:4,chines:0,choic:4,choos:[3,4,8,10,11],chosen:4,christo:0,chunk:[4,12],claim:9,classnam:4,clear:4,click:[4,6,9,10,11],clipboard:[12,15],clone:19,close:[4,10,13],cmd:12,code:[4,8,9,10,11,12,13,14,15,16],codec:12,codeop:12,collabor:5,collect:[4,12,14],colorsi:12,column:4,com:[4,10,14,15,16,17,19],come:5,comfort:10,comma:4,command:[10,12],commit:4,common:[7,13],commonintentsfacad:[3,12],commun:[3,9,14,15],compat:9,compil:[8,10,12,13],compileal:12,complet:13,complex:13,compon:[10,14],comput:[3,14],comun:10,confer:14,config:12,configchang:8,configpars:12,confirm:4,connect:4,connid:4,consid:[2,4,5,9,15],consol:[1,3,13,15,16],constant:4,consult:10,contact:[4,6,8,15],contactsfacad:[3,12],contactsget:4,contactsgetattribut:4,contactsgetbyid:4,contactsgetcount:4,contactsgetid:4,contain:[0,1,4,9,10,12,14,15,17],contan:9,content:[3,4],context:[4,8],contextlib:12,contribut:[0,3,6],contributor:1,control:[10,12,15],conveni:[11,15,16],convient:11,cooki:12,cookielib:12,cool:6,copi:[10,12],copy_reg:12,core:[1,3],corner:10,correspond:15,could:[1,2,4,6,8,10,11,12,13],couldn:8,countri:4,cours:17,cprofil:12,cpu:4,creat:[4,6,9,10,16],creation:4,creator:3,critic:10,csv:12,ctype:12,current:[4,14],custom:[15,16],dai:4,darciss:0,dashboard:[3,8,18],data:[2,8,12,18],date:4,dbhash:12,dbkei:18,dead:4,debug:13,decim:[4,12],declar:13,dedic:14,def:13,defaulttext:4,defin:[4,13],definit:8,delaytim:4,delet:[4,10],deliveri:7,demand:1,demo:8,demonstr:4,depend:[10,14],deriv:12,describ:9,descript:0,desir:4,desktop:10,destinationaddress:4,detail:[4,5],dev:4,devci:4,develop:[1,4,6,7,8,9,10,12,13,14],devic:[1,2,4,10,13],dfault:4,dia:12,dial:4,dialog:[9,12],dialogcreatealert:4,dialogcreatedatepick:4,dialogcreatehorizontalprogress:4,dialogcreateinput:4,dialogcreatenfcbeammast:4,dialogcreatenfcbeamslav:4,dialogcreatepassword:4,dialogcreateseekbar:4,dialogcreatespinnerprogress:4,dialogcreatetimepick:4,dialogdismiss:4,dialoggetinput:[4,8,9],dialoggetpassword:4,dialoggetrespons:4,dialoggetselecteditem:4,dialogsetcurrentprogress:4,dialogsetitem:4,dialogsetmaxprogress:4,dialogsetmultichoiceitem:4,dialogsetnegativebuttontext:4,dialogsetneutralbuttontext:4,dialogsetpositivebuttontext:4,dialogsetsinglechoiceitem:4,dialogshow:4,didn:13,differ:[4,7,14,15,16,17],difflib:12,digit:4,dim:4,dimension:14,dinglisch:[16,17],dircach:12,directli:[4,10,11],directori:10,dis:12,disabl:4,discharg:4,disconnect:4,discov:4,discover:4,discoveri:4,dismiss:4,displai:[4,9,13],distinct:14,distinguish:15,distribut:10,distutil:12,django:13,dmych:[9,10],doc:9,doctest:12,document:[1,3,10,12,15,16],docxmlrpcserv:12,doe:[4,9,13,15],doesn:[2,13],doing:6,don:[0,8,9,10,12,13],dongl:4,doubl:4,down:[6,10],download:4,draft:[9,10],drawabl:4,drive:[15,16],driver:13,droid:[4,8,9],dropbear:18,dropbear_dss_host_kei:18,dropbear_ecdsa_host_kei:18,dropbear_rsa_host_kei:18,dss:18,dtmf:4,dumbdbm:12,dummy_thread:12,durat:4,dure:4,dynload:3,each:4,easi:[13,15,16],easili:[10,13],ecdsa:18,ecosystem:14,edit:[9,10,11],editor:[1,3,9,11,15,16,17],effici:13,els:[4,8,9],email:[0,1,5,8,12],empti:[4,9],enabl:[4,15],encapsul:9,encod:[4,12],engin:[1,3,13,15],enhanc:[15,16],enqueu:4,ensornumb:4,enter:[9,10],enterpris:[1,3],entiti:14,env:2,environ:[4,8,10,15],equal:4,equival:4,error:[4,13,16],essenti:13,establish:4,estens:10,etc:[1,4,7,10,13,14,15,16],euroscipi:14,even:2,event:[3,4],eventclearbuff:4,eventdata:4,eventfacad:[3,12],eventgetbrodcastcategori:4,eventnam:4,eventpol:4,eventpost:4,eventregisterforbroadcast:4,eventunregisterforbroadcast:4,eventwait:4,eventwaitfor:4,ever:4,everi:9,exampl:[4,9,13,15,16,17],exceed:4,except:[9,13,15],execut:[2,4,9,10],executeqpi:4,exit:[4,13],expans:7,expect:4,experi:13,experienc:[15,16],explicitli:10,explor:10,extend:[4,10,14,15,16],extplgplusnam:8,extra:[4,13],eyesfreefacad:[3,12],facad:[3,12],facebook:[1,2,15],fail:4,failur:4,fals:[0,4,9,13],familiar:9,faq:[1,15],fast:[13,14],featur:[1,3,4,10,11,15],feedback:[1,3,5],feel:10,field:[4,9],fifth:9,file:[0,3,4,10,11],filecmp:12,fileinput:12,filenam:4,filepath:[4,13],filter:8,find:[6,8,10,15],firmwar:4,first:[2,9,10,16],fix:16,flag:[4,8],flashlight:[16,17],flask:13,flexiabl:13,fnmatch:12,focu:14,fogapod:0,folder:4,folk:7,follow:[0,1,2,3,6,8,9,10,12,13,15],foo:12,forc:4,forcestoppackag:4,foreground_servic:[16,17],forget:10,fork:1,format:[4,9],formatt:12,fortran:14,forward:1,found:[4,8,10],fourier:14,fpformat:12,fraction:12,framework:13,free:[10,15],french:0,friendli:[15,16],frodo821:0,from:[1,2,3,4,9,10,12,13],front:13,ftdi:4,ftp:[3,17],ftplib:12,full:[4,8],fulldismiss:4,fullkeyoverrid:4,fullqueri:4,fullquerydetail:4,fullscreen:[4,13],fullsetlist:4,fullsetproperti:4,fullshow:4,functool:12,fundament:14,funni:10,further:9,futur:13,future_builtin:12,gener:[4,8,10],generatedtmfton:4,genericpath:12,geo:12,geocod:4,get:[1,2,10,12,13,15,16],get_account:[16,17],getcellloc:4,getclipboard:4,getconst:4,getdefault:4,getdeviceid:4,getdevicesoftwarevers:4,getextra:8,getinput:12,getint:4,getlastknownloc:4,getlaunchableappl:4,getline1numb:4,getmaxmediavolum:4,getmaxringervolum:4,getmediavolum:4,getneighboringcellinfo:4,getnetworkoper:4,getnetworkoperatornam:4,getnetworkstatu:4,getnetworktyp:4,getopt:12,getpackagevers:4,getpackageversioncod:4,getpass:12,getpassword:12,getphonetyp:4,getringervolum:4,getrunningpackag:4,getscreenbright:4,getscreentimeout:4,getsimcountryiso:4,getsimoper:4,getsimoperatornam:4,getsimserialnumb:4,getsimst:4,getstr:8,getsubscriberid:4,gettext:12,getvibratemod:4,getvoicemailalphatag:4,getvoicemailnumb:4,git:[0,19],github:[1,8,14,15,19],gitter:1,given:4,glob:12,global:13,goal:3,goe:10,going:9,good:[4,9,15,16],googl:[1,15,16,17],gps:4,grab:4,great:[1,3,5,7],greater:[4,5],greet:9,group:[0,1,5,15],grp:12,gsm:4,gsm_signal_strength:4,guarante:[4,14],gui:[13,15],guid:[6,7,15],gzip:12,handl:[4,8],handler:13,handler_class:13,happen:9,happi:1,hardwar:[4,15],has:[1,4,8,10,11,15],hash:4,hashlib:12,have:[1,6,8,10,13,15,16,17],head:13,header:13,health:4,heapq:12,hear:1,heard:4,hei:9,hello1:9,hello:[1,3,4,8,10,13],helloworld:9,help:[0,1,3,8,10,11,13,14],hepler:12,here:[4,8,9,10,15],hide:13,high:14,higher:[1,4],highlight:[10,11],hipip:10,his:[9,10],hmac:12,home:13,homepag:13,hope:5,horizont:4,host:[3,12,13,18],hotshot:12,hour:4,how:[0,1,2,3,4,8,15],href:13,html:[4,11,15],htmlentitydef:12,htmllib:12,htmlparser:12,http:[4,8,13,14,15,19],httplib:12,icon:[4,10],iconnam:4,id_priv:18,idea:[6,10],identifi:4,ids:4,ihook:12,imag:[4,8],imaplib:12,imei:4,imghdr:12,immedi:4,implement:[1,13],importerror:9,importlib:12,imputil:12,imsi:4,inbox:4,includ:[1,4,10,14,15,16],incom:4,incomingnumb:4,increas:4,indent:[9,10],independ:8,index:[4,10],indic:4,info:4,inform:[6,12,13],initi:4,innov:13,input:[4,9],inputtyp:4,insert:[4,13],inspect:12,instal:[8,10,13,14,15],install_shortcut:[16,17],instead:[9,10],integr:[4,10,14,15,16],intent:[8,12,15],interact:7,interest:6,interfac:[9,10,13],internet:[15,16,17],interpret:[1,10,15,16],intro:0,introduc:[5,10],introduct:0,invit:[0,5],is24hour:4,iso:4,issu:[1,4,14,15],item:4,ith:15,its:10,japanes:0,java:4,javascript:11,jniu:13,job:13,join:[0,1,3,5,10],jpeg:4,jpegqual:4,json:[4,9,12],just:[0,2,3,9,10,11,12,13],keep:[6,13],kei:[4,9],kera:14,kernel:4,kersei:0,keyboard:4,keyboardhidden:8,keycod:4,keyword:[11,12],kill:18,kill_background_process:[16,17],kind:0,kit:10,kivi:[3,13],know:[3,6,9,16],known:4,kuri65536:4,kyle:0,label:[4,8],lack:[1,10],languag:[4,13],languagemodel:4,laptop:[11,13],last:[4,9],later:[2,4],latitud:4,launch:[1,3,4,10],launchabl:4,launcher:[8,16,17],layer:[4,15,16],layout:12,lead:10,learn:[14,15,16],learner:[15,16],least:9,leav:[9,10],left:[9,10],length_short:8,let:[6,8,9,10,13,15,16],level:[4,10,14],lib:[10,12],libari:10,librari:[1,3,4,8,13,14,15,16],light:4,like:[1,2,4,7,8,10,11,12,13,14],limit:[15,16,17],line:[4,8,9,10,13],linear:14,linecach:12,link:[2,10,15,16],linux4:12,list:[4,10],listen:4,load:[4,13],local:[1,3,4,10,11,12],localhost:13,locat:[12,15,16],locationfacad:[3,12],locationprovid:4,locationprovideren:4,lock:4,log:[4,12],log_request:13,logcat:4,logic:9,logo:10,longitud:4,look:16,loop:4,lua:11,m78k0f0730:4,macpath:12,macurl2path:12,mae:0,magnet:4,mai:[1,8,15],mail:4,mailbox:12,mailcap:12,main:[1,3,7,10,11],mainli:[10,15,16],maintain:[7,10],make:[4,5,6,9,10,13,15],make_serv:13,makeint:4,maketext:8,maketoast:[4,8,9],manag:[12,15],mani:[1,4,10,13,14,16],manual:12,map:4,mark:4,markupbas:12,master:[4,15],match:4,matplotlib:[15,16],max:4,maximum:4,maximumprogress:4,maximunprogress:4,maxresult:4,mbundl:8,mcc:4,md5:12,mean:[9,15,16,17],meanin:9,media:[12,15],mediaisplai:4,mediaplai:4,mediaplay:15,mediaplayclos:4,mediaplayerfacad:[3,12],mediaplayinfo:4,mediaplaylist:4,mediaplaypaus:4,mediaplayseek:4,mediaplaysetloop:4,mediaplaystart:4,mediarecorderfacad:[3,12],meet:1,meid:4,member:[1,3],mention:2,menu:[4,10],merg:0,messag:[4,9],method:[4,13],mhlib:12,microphon:4,million:[1,15],millisecond:4,mime:4,mimetool:12,mimetyp:[8,12],mimewrit:12,mimifi:12,mindist:4,minupdatedist:4,minut:4,miut:4,mix:[10,13],mjpeg:4,mkdir:18,mmap:12,mnc:4,mobil:4,mode:[7,12,13],model:4,modifi:10,modul:9,modulefind:12,month:4,more:[3,5,10,15,16],most:[4,9,10,11,12,13],move:[1,11],mpyapi:8,msec:4,msisdn:4,much:10,multi:13,multifil:12,multipl:[4,15,16],must:4,mutex:12,myappid:8,mywsgirefserv:13,name:[4,8,9,10,13,15,17],necessari:9,need:[1,2,8,9,12,13,14],neg:4,neighbor:4,net:[16,17],netrc:12,network:[1,4],networkstatu:[12,15],newest:1,next:[0,4,9,10],nfc:[12,13,15,16,17],nfcbeammessag:4,nice:10,nntplib:12,non:4,none:[4,9,13],note:[10,13,15],noth:9,notic:10,notif:[4,9,10],notifi:[12,15],now:[2,6,8,9,10,13,14,16],ntpath:12,nturl2path:12,number:[4,10,12,14],number_of_ev:4,numer:[4,14],numpi:[10,15,16],object:[4,9,10,14],obvious:[9,10],occur:4,off:4,offer:[6,7,9,10,13],offici:1,offlin:[15,16],offset:4,oldest:4,onactivityresult:8,onc:10,one:[4,9,14,15],onli:[3,4,8,9,15],onlin:[1,3],onpyapi:8,onqpyexec:8,oop:9,opcod:12,open:[1,3,4,9,10,13,14,15],opengl2:13,opengl:13,opensourc:7,oper:4,option:[4,13],optpars:12,order:[4,9],ordinari:10,org:[0,2,4,5,6,8,10,15,18],organis:3,orient:[4,8],origin:4,os2emxpath:12,other:[2,9,10,13,15,16],otherwis:[4,9],our:9,out:[3,6,8],output:9,outsid:8,over:4,overheat:4,overrid:[4,8],own:3,packag:[4,8,10,13,15,16],packagenam:4,packagevers:[12,15],page:[10,13],paid:7,param:8,paramet:4,part:[5,7,13],partial:4,pass:[4,13],password:4,path:[4,13],paus:4,pdb:12,pelas:13,peopl:[10,13,14],percentag:4,period:4,permiss:[13,15],permission_run_task:[16,17],phe:0,phone:[4,11,15,16],phonecal:4,phonecallnumb:4,phonedi:4,phonedialnumb:4,phonefacad:[3,12],phonenumb:4,phonestat:12,pic:[10,11],pick:4,pickcontact:4,picker:4,pickl:12,pickletool:12,pickphon:4,pictur:[4,10],pid:18,pip:[1,3,10,12],pip_consol:10,pipe:12,pitch:4,pizza:4,pkg_resourc:12,pkgutil:12,pl2303:4,plai:[1,4,9,15,16,17],plain:[8,11],plan:13,plat:12,platform:12,pleas:[0,1,2,4,5,6,8,10,15],plistlib:12,plu:10,plug:4,plugin:8,plyer:12,point:[4,13],polit:9,poll:4,pop:9,popen2:12,poplib:12,port:[4,13],posit:4,posixfil:12,posixpath:12,possibl:4,post:[0,4,10],power:[3,4,14],pprint:12,practis:14,pre:[8,10,13],prebuilt:[15,16],prefer:[4,15],preferencesfacad:[3,12],prefgetal:4,prefgetvalu:4,prefputvalu:4,presenc:4,present:4,press:9,preview:[4,11],previou:13,previous:[4,16],print:[9,13],prioriti:1,probabl:4,process:[4,8],process_outgoing_cal:[16,17],product:8,profession:15,profil:12,program:[1,9,13,14,15,16],progress:[2,12,13],project:[0,1,3,4,6,7,8,10,11,13,14,15,16],prompt:[4,9],properti:[4,10],propos:8,protect:8,provid:[12,14,15,16],pstat:12,pty:12,publish:[0,8],pull:[0,1,9],pure:[10,13],purpos:4,push:[1,3],put:[4,9,10,13],putextra:8,putstr:8,py_compil:12,pyclbr:12,pycod:8,pydoc:12,pydoc_data:12,pygam:2,pypi:14,python2:[10,17],python3:17,python:[1,2,3,8,9,10,11,13,14,15,16],qedit4web:11,qeditor:3,qpy:[1,2,3,12,13,14,18],qpy_run_with_shar:8,qpyapp:13,qpyhttpd:13,qpyi:15,qpyinterfacefacad:[3,12],qpylib:8,qpypi:[3,10,15,16,17],qpyplu:10,qpysl4a:[14,15,16],qpython3:[0,1,4,8,13,16,21],qpython:[0,2,3,4,6,9,11,14,15,18,19,20],qpython_3x_featu:15,qpythoninit:12,qrcode:[3,10,17],qscript:13,qsl4a:[1,3],qsl4ahelp:16,qslaapp:16,qualiti:4,queri:4,queryattribut:4,querycont:4,question:[0,10],queue:[4,12],quick:[1,3],quickli:[3,10],quiet:13,quiethandl:13,quopri:12,qustion:1,radio:4,rais:14,random:[12,14],rapid:13,reach:10,reaction:9,read:[9,12],read_call_log:[16,17],read_contact:[16,17],read_external_storag:[16,17],read_media_storag:[16,17],read_phone_st:[16,17],read_sm:[15,16,17],readbatterydata:4,reader:[3,15,16,17],readi:6,readloc:4,readm:15,readphonest:4,readsensor:4,readsignalstrength:4,real:9,rearrang:16,receiv:4,receive_boot_complet:[16,17],receive_sm:[16,17],receive_user_pres:[16,17],receiveev:4,recent:[4,10],recipi:4,recogn:4,recognizeint:4,recognizespeech:4,recommend:13,recongn:4,reconnect:4,record:4,record_audio:[16,17],recordaudio:4,recordercapturevideo:4,recorderstartmicrophon:4,recorderstartvideo:4,recorderstop:4,redirect:10,refer:[4,14],regist:4,regular:10,rehot:0,relat:14,releas:[1,4,13],relev:15,reload:13,remot:4,remov:[4,13],renam:10,replac:[9,15],repo:0,report:[1,3,4,5],repositori:[15,16],repr:[12,13],repres:4,represent:4,request:[0,1,4,13],requestcod:8,requir:[8,12,13,15,17],requiredvers:4,resolut:4,resolutionlevel:4,resolv:4,resourc:[1,4,10,12,13,15],respond:9,respons:4,rest:10,restart:16,result:[4,8,9,11],resultcod:[4,8],resultvalu:4,retriev:4,rexec:12,rfc822:12,right:15,ringer:[12,15],river:[0,8],rl78:4,rlcomplet:12,roam:4,robotpars:12,role:4,roll:4,root:[2,13],rout:13,router:13,routin:14,rpc:9,rpcpostev:4,rsa:18,run:[0,1,2,3,4,9,10,11,13,15,16],runpi:12,runtim:[13,15],russian:0,said:10,same:[10,12],sampl:[2,3,4,8,13,15,16],samples:4,save:[4,9,10],scan:4,scanbarcod:4,scanner:4,scenario:15,sched:12,scheme:8,scientif:[14,15,16],scikit:[15,16],scipi:[15,16],scp:18,screen:[9,10,12,15],screenorient:8,screenshot:[9,10,13],script:[1,2,3,4,7,9,10,11,13,15,16],script_exec_pi:8,script_result:4,sdcard:[4,10,13],sdk:4,search:[4,10,11],second:[4,10],see:[4,9,10,11,12],seek:4,seem:8,select:4,selectionarg:4,self:[0,4,13],send:[0,1,4,5,6,8],send_sm:[15,16,17],sendbroadcast:[12,15],sendbroadcastint:4,sendemail:[12,15],sensit:[15,16,17],sensor:[4,15],sensormanagerfacad:[3,12],sensornumb:4,sensorsgetaccuraci:4,sensorsgetlight:4,sensorsreadacceleromet:4,sensorsreadmagnetomet:4,sensorsreadorient:4,sent:4,separ:[4,9],serial:[3,12],serv:13,serve_forev:13,server:[4,13],server_clos:13,server_stat:13,serveradapt:13,servic:[1,3,4,13],session:4,set:[4,8,10,12,15],setact:8,setclassnam:8,setclipboard:4,setmediavolum:4,setresultboolean:4,setresultbooleanarrai:4,setresultbyt:4,setresultbytearrai:4,setresultchar:4,setresultchararrai:4,setresultdoubl:4,setresultdoublearrai:4,setresultfloat:4,setresultfloatarrai:4,setresultinteg:4,setresultintegerarrai:4,setresultlong:4,setresultlongarrai:4,setresultserializ:4,setresultshort:4,setresultshortarrai:4,setresultstr:4,setresultstringarrai:4,setringervolum:4,setscreenbright:4,setscreentimeout:4,settingsfacad:[3,12],setuptool:12,sever:[1,13,14],sgmllib:12,sha:12,share:[2,3,4,10,11],shell:11,shelv:12,shlex:12,shortcut:10,shoul:13,should:[3,4,9,10],show:[4,8,9,10],shown:9,shutdown:13,shutil:12,signal:4,signalstrength:15,signalstrengthfacad:[3,12],silent:12,sim:4,similar:9,simpl:[8,9],simple_serv:13,simplehttpserv:12,simplexmlrpcserv:12,simplifi:12,sinc:10,singl:10,site:[10,12],sl4a:[1,3,4,7,12,15,16],slave:4,small:9,smartphon:13,smsdeletemessag:4,smsfacad:[3,12],smsgetattribut:4,smsgetmessag:4,smsgetmessagebyid:4,smsgetmessagecount:4,smsgetmessageid:4,smsmarkmessageread:4,smssend:4,smtpd:12,smtplib:12,sndhdr:12,snippet:11,social:1,socket:[4,12],socketserv:12,softwar:[4,14],solut:13,solv:1,some:[1,3,4,6,9,10,11,13,15,16,17],sometim:[1,15],somth:10,soon:[1,5],sophist:14,sour:2,sourc:[4,10,13,14,15],space:9,speak:4,specif:4,specifi:4,speech:4,speechrecognitionfacad:[3,12],speechrecongit:15,spinner:4,spn:4,sponsor:[1,3],sqlite3:12,sre:12,sre_compil:12,sre_const:12,sre_pars:12,sshd:18,ssl:[12,16],stack:14,stackoverflow:1,stardard:[3,13],start:[1,9,11,12,13],startact:[12,15],startactivityforresult:[4,8],startactivityforresultint:4,startactivityint:4,starteventdispatch:4,startinteractivevideorecord:4,startloc:4,startsens:4,startsensingthreshold:4,startsensingtim:4,starttrackingphonest:4,starttrackingsignalstrength:4,stat:[4,12],state:4,statement:9,static_fil:13,statu:12,statvf:12,stderr:13,step:[1,3],still:9,stop:[12,13],stopeventdispatch:4,stoploc:4,stopsens:4,stoptrackingphonest:4,stoptrackingsignalstrength:4,store:[4,15],str:4,strategi:17,stream:4,street:4,strength:4,strict:[15,16,17],string:[0,4,8,9,12],stringio:12,stringold:12,stringprep:12,strong:13,struct:[4,12],subject:4,subprocess:12,subscrib:4,subtyp:4,succeed:4,success:4,successfulli:4,suggest:[3,5],sunau:12,sunaudio:12,suppli:4,support:[0,2,5,6,10,11,12,13,14,15,16],sure:8,swipe:10,symbol:12,symtabl:12,syntax:[10,11],sys:[8,13],sysconfig:12,syslog:12,system:[10,12,15],system_alert_window:[16,17],tabnanni:12,tag:4,take:[4,13,16],takepictur:4,talk:1,tap:[9,10],tarfil:12,target:[4,13],targetpath:4,tasker:[8,16,17],team:[1,3,10,13],technic:[13,15,16],technolog:[3,4],tell:0,telnetlib:12,temperatur:4,tempfil:12,templat:13,termin:[2,18],termio:12,test:[1,3,6,10],testapp:13,tester:[1,3,5],text:[4,8,9,10,11,13],texttospeech:15,texttospeechfacad:[3,12],textwrap:12,than:4,thank:[0,5,9,10],theano:14,thei:[1,12,16],them:[4,9,10,12],thi:[0,1,4,5,6,8,9,10,12,13,14,15,16],thing:8,think:9,third:15,though:10,thread:[12,13],three:[7,9],threshold:4,through:[1,3,8,10,12,13],time:4,timeit:12,timeout:4,titl:[4,9,13],titlebar:13,toaiff:12,toast:[0,8,9,12,15],toggl:4,toggleairplanemod:4,togglebluetoothst:4,toggleringersilentmod:4,togglevibratemod:4,togglewifist:4,token:12,tone:4,tonedur:4,tonegener:15,tonegeneratorfacad:[3,12],tool:[1,3,10,14],toolbar:[9,10],top:[9,10],topic:0,touch:13,trace:12,traceback:12,track:4,tragi:4,transfer:[15,16],transform:14,translat:[0,1,3],treat:9,ttsisspeak:4,ttsspeak:4,tty:12,ttyusb0:4,tupl:4,turkish:0,twitter:1,two:[9,10,15],type:[4,7,10,12,15,16],typic:4,uifacad:[3,12],uix:13,unavail:4,under:15,undo:10,unicodedata:12,unind:9,uninstal:10,uninstall_shortcut:[16,17],uniqu:4,unittest:12,unknown:4,unless:10,unplug:4,unreadonli:4,unspecifi:4,until:4,updat:[0,4],upgrad:1,upload:[10,11],upper:10,uri:4,url:[4,11,13],urllib2:12,urllib:12,urlpars:12,usag:[10,15],usb:[3,12,15],usbserialactiveconnect:4,usbserialconnect:4,usbserialdisconnect:4,usbserialgetdevicelist:4,usbserialgetdevicenam:4,usbserialhosten:4,usbserialread:4,usbserialreadbinari:4,usbserialreadreadi:4,usbserialwrit:4,usbserialwritebinari:4,use:[0,4,8,9,10,13,14,15,16,17],used:[4,9,12],usedrop:10,useful:[4,9,10],user:[3,4,7,8,9,10,12,13,15,16,18],userdict:12,userlist:12,usernam:9,userstr:12,uses:4,using:[1,6,7,9,10,12,16],usual:[10,12],util:4,uuid:[4,12],valu:[4,9],variabl:9,variou:4,vend:[16,17],veri:[9,11,13],version:[1,4,15,16],via:4,vibrat:[12,15,16,17],video:[8,12],videos:4,view:[8,11,12,13],viewcontact:4,viewhtml:4,viewmap:4,visibl:4,voic:4,voltag:4,volum:[12,15],wai:[1,3,9,10,13],wait:4,waitforev:4,wake:4,wake_lock:[16,17],wakelock:15,wakelockacquirebright:4,wakelockacquiredim:4,wakelockacquireful:4,wakelockacquireparti:4,wakelockfacad:[3,12],wakelockreleas:4,want:[0,1,3,4,5,6,8,9,10,13,14],warn:12,watch:8,wave:12,weakref:12,web:[13,20],webapp:[3,13,15,16],webbrows:12,webcam:[4,15],webcamadjustqu:4,webcamfacad:[3,12],webcamstart:4,webserv:13,webview:[12,13],webviewshow:4,welcom:3,well:[7,9,14],were:[4,12],what:[0,6,9,10,15],wheel:[15,16],when:[4,8,9,10,11,13],whenev:4,where:[1,4,6,16],whether:15,which:[0,4,5,7,8,9,10,11,12,13,15,16,17],whichdb:12,whish:13,who:14,whole:9,why:[3,9,15,16,17],widget:4,wifi:4,wifidisconnect:4,wififacad:[3,12],wifigetconnectioninfo:4,wifigetscanresult:4,wifilock:15,wifilockacquireful:4,wifilockacquirescanonli:4,wifilockreleas:4,wifireassoci:4,wifireconnect:4,wifistartscan:4,wiki:2,willing:0,without:[10,13],wonder:9,word:0,work:[4,9,15,16],world:[1,3,4,13],worldwid:15,worri:9,wow:9,write:[1,3,4,6,10,11],write_external_storag:[16,17],write_sm:[16,17],written:4,wrote:9,wsgiref:[12,13],wsgirequesthandl:13,www:15,xdrlib:12,xml:[0,12],xmllib:12,xmlrpclib:12,year:4,yes:10,yet:13,you:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16],your:[0,1,3,6,9,10,13,14,15,16],yourself:13,youself:5,youtub:[4,8],zipfil:12,zrh:0},titles:["Contributors","Welcome to read the QPython guide!","FAQ","Getting started","AndroidFacade","Welcome contribute","Join the tester community","Android","QPython Open API","Writing \u201cHello World\u201d","QPython: How To Start","Use the best way for developing","QPython built-in Libraries","QPython\u2019s main features","QPYPI","<no title>","QPython 3x featues","QPython Ox featues","\u5982\u4f55\u5728QPython \u4f7f\u7528 SSH","QPython\u6587\u6863\u4f53\u7cfb\u8bf4\u660e","\u5feb\u901f\u5f00\u59cb","\u4e2d\u6587\u7528\u6237\u5411\u5bfc"],titleterms:{"3rd":12,"\u4e2d\u6587\u7528\u6237\u5411\u5bfc":21,"\u4f60\u7684\u670d\u52a1\u5668":18,"\u4f7f\u7528":18,"\u5176\u4ed6":18,"\u5982\u4f55\u5728qpython":18,"\u5982\u4f55\u63d0\u4ea4\u6587\u6863":19,"\u5982\u4f55\u63d0\u4ea4\u7ffb\u8bd1":19,"\u5982\u4f55\u767b\u5f55\u5230\u4f60\u7684\u624b\u673a":18,"\u5982\u4f55\u8d21\u732e":21,"\u5982\u4f55\u8fdc\u7a0b\u767b\u5f55":18,"\u5feb\u901f\u5f00\u59cb":20,"\u66f4\u591a\u94fe\u63a5":21,"\u6b22\u8fce":21,"\u7528\u6237\u5f00\u53d1\u7ec4":21,"\u7f16\u7a0b\u6307\u5357":20,"\u8d21\u732e\u8005\u6307\u5357":20,"\u8d77\u6b65":21,"new":[1,16],"qpython\u6587\u6863\u4f53\u7cfb\u8bf4\u660e":19,"qpython\u9ed1\u5ba2\u6307\u5357":20,For:1,Use:11,activityresultfacad:4,aipi:14,airplanermod:4,alert:4,android:[7,16],androidfacad:4,androidhelp:12,api:[4,7,8,12],app:16,applic:8,applicationmanagerfacad:4,audio:4,author:4,barcod:4,batterymanagerfacad:4,becam:5,becom:6,best:11,bluetoothfacad:4,both:[16,17],bright:4,brows:7,browser:11,built:[5,12],call:4,camerafacad:4,chines:1,choos:13,clipboard:4,commonintentsfacad:4,commun:[0,1,5,6,10],comput:11,consol:[7,10],contactsfacad:4,content:8,contribut:[1,5],contributor:[0,3],control:4,core:7,dashboard:10,data:4,develop:[0,3,5,11],dia:4,dialog:4,document:5,dynload:12,editor:[7,10],enterpris:7,event:5,eventfacad:4,eyesfreefacad:4,facad:4,faq:2,featu:[16,17],featur:[13,16],feedback:6,file:7,from:[8,11],ftp:7,geo:4,get:[3,4],getinput:4,getpassword:4,gui:1,guid:[1,3],hello:9,help:5,host:4,how:[5,10],inform:4,intent:4,join:6,kivi:7,launch:5,layout:4,let:1,librari:[7,9,10,12],local:[0,5],locat:4,locationfacad:4,main:13,manag:4,media:4,mediaplayerfacad:4,mediarecorderfacad:4,member:5,mode:4,more:9,networkstatu:4,nfc:4,notifi:4,now:1,numpi:14,onlin:8,open:8,organ:0,organis:5,other:[1,14],own:8,packag:14,packagevers:4,permiss:[16,17],phonefacad:4,phonestat:4,pip:7,preferencesfacad:4,program:[3,5,7,10],progress:4,project:5,provid:4,publish:16,python:[7,12,17],qeditor:11,qpy:[7,8],qpyinterfacefacad:4,qpypi:[8,14],qpysla:14,qpython:[1,5,7,8,10,12,13,16,17,21],qrcode:7,qsl4a:7,qsl4ahelp:14,quick:7,read:[1,4],reader:7,report:6,requir:[4,16],ringer:4,run:8,sampl:9,scipi:14,screen:4,script:8,sendbroadcast:4,sendemail:4,sensormanagerfacad:4,serial:4,servic:[7,8],settingsfacad:4,share:[5,8],should:13,signalstrengthfacad:4,silent:4,sl4a:9,smsfacad:4,some:8,speechrecognitionfacad:4,sponsor:5,ssh:18,stardard:12,start:[3,4,10],startact:4,statu:4,stop:4,suggest:6,support:1,system:4,test:5,tester:6,texttospeechfacad:4,thank:1,toast:4,tonegeneratorfacad:4,tool:7,translat:5,uifacad:4,usb:4,user:[1,5],vibrat:4,video:4,view:4,volum:4,wai:11,wakelockfacad:4,webapp:7,webcamfacad:4,webview:4,welcom:[1,5],what:[1,16],who:1,why:13,wififacad:4,world:9,write:9,your:[8,11]}}) \ No newline at end of file +Search.setIndex({docnames:["contributors","document","en/faq","en/guide","en/guide_androidhelpers","en/guide_contributors","en/guide_contributors_test","en/guide_developers","en/guide_extend","en/guide_helloworld","en/guide_howtostart","en/guide_ide","en/guide_libraries","en/guide_program","en/qpypi","en/qpython3","en/qpython_3x_featues","en/qpython_ox_featues","features/2018-09-28-dropbear-cn","zh/contributorshowto","zh/howtostart","zhindex"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["contributors.rst","document.rst","en\\faq.rst","en\\guide.rst","en\\guide_androidhelpers.rst","en\\guide_contributors.rst","en\\guide_contributors_test.rst","en\\guide_developers.rst","en\\guide_extend.rst","en\\guide_helloworld.rst","en\\guide_howtostart.rst","en\\guide_ide.rst","en\\guide_libraries.rst","en\\guide_program.rst","en\\qpypi.rst","en\\qpython3.rst","en\\qpython_3x_featues.rst","en\\qpython_ox_featues.rst","features\\2018-09-28-dropbear-cn.rst","zh\\contributorshowto.rst","zh\\howtostart.rst","zhindex.rst"],objects:{"":[[4,0,1,"","NFCBeamMessage"],[4,0,1,"","addContextMenuItem"],[4,0,1,"","addOptionsMenuItem"],[4,0,1,"","batteryCheckPresent"],[4,0,1,"","batteryGetHealth"],[4,0,1,"","batteryGetLevel"],[4,0,1,"","batteryGetPlugType"],[4,0,1,"","batteryGetStatus"],[4,0,1,"","batteryGetTechnology"],[4,0,1,"","batteryGetTemperature"],[4,0,1,"","batteryGetVoltage"],[4,0,1,"","batteryStartMonitoring"],[4,0,1,"","batteryStopMonitoring"],[4,0,1,"","bluetoothAccept"],[4,0,1,"","bluetoothActiveConnections"],[4,0,1,"","bluetoothConnect"],[4,0,1,"","bluetoothDiscoveryCancel"],[4,0,1,"","bluetoothDiscoveryStart"],[4,0,1,"","bluetoothGetConnectedDeviceName"],[4,0,1,"","bluetoothGetLocalAddress"],[4,0,1,"","bluetoothGetLocalName"],[4,0,1,"","bluetoothGetRemoteDeviceName"],[4,0,1,"","bluetoothGetScanMode"],[4,0,1,"","bluetoothIsDiscovering"],[4,0,1,"","bluetoothMakeDiscoverable"],[4,0,1,"","bluetoothRead"],[4,0,1,"","bluetoothReadBinary"],[4,0,1,"","bluetoothReadLine"],[4,0,1,"","bluetoothReadReady"],[4,0,1,"","bluetoothSetLocalName"],[4,0,1,"","bluetoothStop"],[4,0,1,"","bluetoothWrite"],[4,0,1,"","bluetoothWriteBinary"],[4,0,1,"","cameraCapturePicture"],[4,0,1,"","cameraInteractiveCapturePicture"],[4,0,1,"","cameraStartPreview"],[4,0,1,"","cameraStopPreview"],[4,0,1,"","checkAirplaneMode"],[4,0,1,"","checkBluetoothState"],[4,0,1,"","checkNetworkRoaming"],[4,0,1,"","checkRingerSilentMode"],[4,0,1,"","checkScreenOn"],[4,0,1,"","checkWifiState"],[4,0,1,"","contactsGet"],[4,0,1,"","contactsGetAttributes"],[4,0,1,"","contactsGetById"],[4,0,1,"","contactsGetCount"],[4,0,1,"","contactsGetIds"],[4,0,1,"","dialogCreateAlert"],[4,0,1,"","dialogCreateDatePicker"],[4,0,1,"","dialogCreateHorizontalProgress"],[4,0,1,"","dialogCreateInput"],[4,0,1,"","dialogCreateNFCBeamMaster"],[4,0,1,"","dialogCreateNFCBeamSlave"],[4,0,1,"","dialogCreatePassword"],[4,0,1,"","dialogCreateSeekBar"],[4,0,1,"","dialogCreateSpinnerProgress"],[4,0,1,"","dialogCreateTimePicker"],[4,0,1,"","dialogDismiss"],[4,0,1,"","dialogGetInput"],[4,0,1,"","dialogGetPassword"],[4,0,1,"","dialogGetResponse"],[4,0,1,"","dialogGetSelectedItems"],[4,0,1,"","dialogSetCurrentProgress"],[4,0,1,"","dialogSetItems"],[4,0,1,"","dialogSetMaxProgress"],[4,0,1,"","dialogSetMultiChoiceItems"],[4,0,1,"","dialogSetNegativeButtonText"],[4,0,1,"","dialogSetNeutralButtonText"],[4,0,1,"","dialogSetPositiveButtonText"],[4,0,1,"","dialogSetSingleChoiceItems"],[4,0,1,"","dialogShow"],[4,0,1,"","environment"],[4,0,1,"","eventClearBuffer"],[4,0,1,"","eventGetBrodcastCategories"],[4,0,1,"","eventPoll"],[4,0,1,"","eventPost"],[4,0,1,"","eventRegisterForBroadcast"],[4,0,1,"","eventUnregisterForBroadcast"],[4,0,1,"","eventWait"],[4,0,1,"","eventWaitFor"],[4,0,1,"","executeQPy"],[4,0,1,"","forceStopPackage"],[4,0,1,"","fullDismiss"],[4,0,1,"","fullKeyOverride"],[4,0,1,"","fullQuery"],[4,0,1,"","fullQueryDetail"],[4,0,1,"","fullSetList"],[4,0,1,"","fullSetProperty"],[4,0,1,"","fullShow"],[4,0,1,"","generateDtmfTones"],[4,0,1,"","geocode"],[4,0,1,"","getCellLocation"],[4,0,1,"","getClipboard"],[4,0,1,"","getConstants"],[4,0,1,"","getDeviceId"],[4,0,1,"","getDeviceSoftwareVersion"],[4,0,1,"","getInput"],[4,0,1,"","getIntent"],[4,0,1,"","getLastKnownLocation"],[4,0,1,"","getLaunchableApplications"],[4,0,1,"","getLine1Number"],[4,0,1,"","getMaxMediaVolume"],[4,0,1,"","getMaxRingerVolume"],[4,0,1,"","getMediaVolume"],[4,0,1,"","getNeighboringCellInfo"],[4,0,1,"","getNetworkOperator"],[4,0,1,"","getNetworkOperatorName"],[4,0,1,"","getNetworkStatus"],[4,0,1,"","getNetworkType"],[4,0,1,"","getPackageVersion"],[4,0,1,"","getPackageVersionCode"],[4,0,1,"","getPassword"],[4,0,1,"","getPhoneType"],[4,0,1,"","getRingerVolume"],[4,0,1,"","getRunningPackages"],[4,0,1,"","getScreenBrightness"],[4,0,1,"","getScreenTimeout"],[4,0,1,"","getSimCountryIso"],[4,0,1,"","getSimOperator"],[4,0,1,"","getSimOperatorName"],[4,0,1,"","getSimSerialNumber"],[4,0,1,"","getSimState"],[4,0,1,"","getSubscriberId"],[4,0,1,"","getVibrateMode"],[4,0,1,"","getVoiceMailAlphaTag"],[4,0,1,"","getVoiceMailNumber"],[4,0,1,"","launch"],[4,0,1,"","locationProviderEnabled"],[4,0,1,"","locationProviders"],[4,0,1,"","log"],[4,0,1,"","makeIntent"],[4,0,1,"","makeToast"],[4,0,1,"","mediaIsPlaying"],[4,0,1,"","mediaPlay"],[4,0,1,"","mediaPlayClose"],[4,0,1,"","mediaPlayInfo"],[4,0,1,"","mediaPlayList"],[4,0,1,"","mediaPlayPause"],[4,0,1,"","mediaPlaySeek"],[4,0,1,"","mediaPlaySetLooping"],[4,0,1,"","mediaPlayStart"],[4,0,1,"","notify"],[4,0,1,"","phoneCall"],[4,0,1,"","phoneCallNumber"],[4,0,1,"","phoneDial"],[4,0,1,"","phoneDialNumber"],[4,0,1,"","pick"],[4,0,1,"","pickContact"],[4,0,1,"","pickPhone"],[4,0,1,"","prefGetAll"],[4,0,1,"","prefGetValue"],[4,0,1,"","prefPutValue"],[4,0,1,"","queryAttributes"],[4,0,1,"","queryContent"],[4,0,1,"","readBatteryData"],[4,0,1,"","readLocation"],[4,0,1,"","readPhoneState"],[4,0,1,"","readSensors"],[4,0,1,"","readSignalStrengths"],[4,0,1,"","receiveEvent"],[4,0,1,"","recognizeSpeech"],[4,0,1,"","recorderCaptureVideo"],[4,0,1,"","recorderStartMicrophone"],[4,0,1,"","recorderStartVideo"],[4,0,1,"","recorderStop"],[4,0,1,"","requiredVersion"],[4,0,1,"","rpcPostEvent"],[4,0,1,"","scanBarcode"],[4,0,1,"","search"],[4,0,1,"","sendBroadcast"],[4,0,1,"","sendBroadcastIntent"],[4,0,1,"","sendEmail"],[4,0,1,"","sensorsGetAccuracy"],[4,0,1,"","sensorsGetLight"],[4,0,1,"","sensorsReadAccelerometer"],[4,0,1,"","sensorsReadMagnetometer"],[4,0,1,"","sensorsReadOrientation"],[4,0,1,"","setClipboard"],[4,0,1,"","setMediaVolume"],[4,0,1,"","setResultBoolean"],[4,0,1,"","setResultBooleanArray"],[4,0,1,"","setResultByte"],[4,0,1,"","setResultByteArray"],[4,0,1,"","setResultChar"],[4,0,1,"","setResultCharArray"],[4,0,1,"","setResultDouble"],[4,0,1,"","setResultDoubleArray"],[4,0,1,"","setResultFloat"],[4,0,1,"","setResultFloatArray"],[4,0,1,"","setResultInteger"],[4,0,1,"","setResultIntegerArray"],[4,0,1,"","setResultLong"],[4,0,1,"","setResultLongArray"],[4,0,1,"","setResultSerializable"],[4,0,1,"","setResultShort"],[4,0,1,"","setResultShortArray"],[4,0,1,"","setResultString"],[4,0,1,"","setResultStringArray"],[4,0,1,"","setRingerVolume"],[4,0,1,"","setScreenBrightness"],[4,0,1,"","setScreenTimeout"],[4,0,1,"","smsDeleteMessage"],[4,0,1,"","smsGetAttributes"],[4,0,1,"","smsGetMessageById"],[4,0,1,"","smsGetMessageCount"],[4,0,1,"","smsGetMessageIds"],[4,0,1,"","smsGetMessages"],[4,0,1,"","smsMarkMessageRead"],[4,0,1,"","smsSend"],[4,0,1,"","startActivity"],[4,0,1,"","startActivityForResult"],[4,0,1,"","startActivityForResultIntent"],[4,0,1,"","startActivityIntent"],[4,0,1,"","startEventDispatcher"],[4,0,1,"","startInteractiveVideoRecording"],[4,0,1,"","startLocating"],[4,0,1,"","startSensing"],[4,0,1,"","startSensingThreshold"],[4,0,1,"","startSensingTimed"],[4,0,1,"","startTrackingPhoneState"],[4,0,1,"","startTrackingSignalStrengths"],[4,0,1,"","stopEventDispatcher"],[4,0,1,"","stopLocating"],[4,0,1,"","stopSensing"],[4,0,1,"","stopTrackingPhoneState"],[4,0,1,"","stopTrackingSignalStrengths"],[4,0,1,"","toggleAirplaneMode"],[4,0,1,"","toggleBluetoothState"],[4,0,1,"","toggleRingerSilentMode"],[4,0,1,"","toggleVibrateMode"],[4,0,1,"","toggleWifiState"],[4,0,1,"","ttsIsSpeaking"],[4,0,1,"id1","ttsSpeak"],[4,0,1,"","usbserialActiveConnections"],[4,0,1,"","usbserialConnect"],[4,0,1,"","usbserialDisconnect"],[4,0,1,"","usbserialGetDeviceList"],[4,0,1,"","usbserialGetDeviceName"],[4,0,1,"","usbserialHostEnable"],[4,0,1,"","usbserialRead"],[4,0,1,"","usbserialReadBinary"],[4,0,1,"","usbserialReadReady"],[4,0,1,"","usbserialWrite"],[4,0,1,"","usbserialWriteBinary"],[4,0,1,"id0","vibrate"],[4,0,1,"","view"],[4,0,1,"","viewContacts"],[4,0,1,"","viewHtml"],[4,0,1,"","viewMap"],[4,0,1,"","waitForEvent"],[4,0,1,"","wakeLockAcquireBright"],[4,0,1,"","wakeLockAcquireDim"],[4,0,1,"","wakeLockAcquireFull"],[4,0,1,"","wakeLockAcquirePartial"],[4,0,1,"","wakeLockRelease"],[4,0,1,"","webViewShow"],[4,0,1,"","webcamAdjustQuality"],[4,0,1,"","webcamStart"],[4,0,1,"","wifiDisconnect"],[4,0,1,"","wifiGetConnectionInfo"],[4,0,1,"","wifiGetScanResults"],[4,0,1,"","wifiLockAcquireFull"],[4,0,1,"","wifiLockAcquireScanOnly"],[4,0,1,"","wifiLockRelease"],[4,0,1,"","wifiReassociate"],[4,0,1,"","wifiReconnect"],[4,0,1,"","wifiStartScan"]]},objnames:{"0":["py","function","Python function"]},objtypes:{"0":"py:function"},terms:{"0":[1,4,13,15,21],"09":4,"1":[1,3,4,9,13,15,18,21],"10":4,"100":4,"12":1,"123":4,"127":13,"160x120":4,"1970":4,"2":[1,3,4,8,9,12,18,21],"20":4,"2012":4,"2017":1,"24":4,"250":4,"255":4,"29":1,"3":[1,3,4,12,15,16,18,21],"300":4,"320x240":4,"352x288":4,"3l":15,"3rd":[1,2,3,4,10,13],"3x":15,"4":[3,4,15],"4096":4,"5":[1,2,3,4],"50":4,"540717901":[0,21],"6":4,"640x480":4,"7":[1,4,10,12],"78k0f0730":4,"800x480":4,"8080":13,"8088":18,"\u4e0d\u60f3\u73a9\u4e86\u8bb0\u5f97kill\u6389sshd\u8fdb\u7a0b":18,"\u4e16\u754c":20,"\u4e24\u90e8\u5206":19,"\u4e2d\u6587":19,"\u4e2d\u6587\u7528\u6237\u5411\u5bfc":1,"\u4e3b\u8981\u662f\u7528qpython\u6765\u8fdb\u884c\u7f16\u7a0b\u548c\u5f00\u53d1\u7684\u6307\u5357":19,"\u4e4b\u524d\u9700\u8981\u6307\u5b9apid\u6587\u4ef6\u5c31\u662f\u65b9\u4fbf\u4f60\u83b7\u5f97":18,"\u4ece\u4f60\u7684\u7b14\u8bb0\u672c\u767b\u5f55\u624b\u673a":18,"\u4f46\u662f\u6211\u6700\u559c\u6b22\u7684\u662f\u4eca\u5929\u4ecb\u7ecd\u7684\u8fd9\u4e2a\u7279\u6027":18,"\u4f60\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u6765\u63d0\u4ea4\u5bf9\u5e94\u56fd\u5bb6\u7684\u7ffb\u8bd1":19,"\u4f60\u597d":20,"\u4f60\u61c2\u5f97":18,"\u4f60\u8fd8\u53ef\u4ee5\u767b\u5f55\u5230\u4f60\u7684\u624b\u673a":18,"\u4f7f\u7528\u4e0a\u7684\u5e2e\u52a9":19,"\u4f7f\u7528\u8bf4\u660e":20,"\u501f\u52a9dbconvert":18,"\u5176\u4e2d\u5185\u5bb9\u5176\u4e2d\u53c8\u5206\u4e3a":19,"\u5206\u4e3a\u5728qpython":19,"\u5207\u6362\u4e3aroot\u7528\u6237":18,"\u521a\u88ab\u96c6\u6210\u5230qpython\u4e2d\u7684dropbear":18,"\u521d\u59cb\u5316\u5bf9\u5e94\u7684kei":18,"\u524d\u53f0\u542f\u52a8":18,"\u52a0\u5165qpython":21,"\u5373\u53ef":18,"\u5373\u53ef\u542f\u52a8sshd\u670d\u52a1":18,"\u53e6\u5916\u8fd8\u652f\u6301\u4e0b\u9762\u9ad8\u7ea7\u7279\u6027":18,"\u53ea\u9700\u8981\u628a\u8be5\u6587\u4ef6\u4fdd\u5b58\u5230\u4f60\u7684dropbear\u76ee\u5f55\u4e0b":18,"\u53ef\u4ee5\u628a\u4f60\u7684openssh\u8bc1\u4e66\u8f6c\u6362\u8fc7\u6765":18,"\u540e\u7eed\u8ba1\u5212\u79fb\u690d\u66f4\u591a\u6709\u7528\u7684\u5de5\u5177":18,"\u542f\u52a8sshd\u670d\u52a1":18,"\u548c\u4ee5\u5916\u7684":19,"\u56e0\u4e3a\u4e00\u4e9b\u6743\u9650\u7684\u95ee\u9898":18,"\u56e2\u961f":20,"\u5728":18,"\u5728\u5fae\u535a\u95ee\u6211\u4eec\u95ee\u9898":21,"\u5728\u60f3\u8981\u8d21\u732eqpython\u6587\u6863\u4e4b\u524d\u4ed4\u7ec6\u9605\u8bfb\u6211\u4eec\u7684\u6307\u5357":19,"\u5728\u624b\u673a\u4e0a\u5f00sshd\u670d\u52a1\u9700\u8981root\u6743\u9650":18,"\u5728\u767e\u5ea6\u8d34\u5427\u91cc\u8ba8\u8bba":21,"\u5982\u4f55\u63d0\u4ea4\u6587\u6863":[20,21],"\u5982\u4f55\u63d0\u4ea4\u7ffb\u8bd1":[20,21],"\u5982\u4f55\u8d21\u732e":1,"\u5982\u679c\u68c0\u67e5\u65e0\u95ee\u9898\u5219\u53ef\u4ee5\u63d0\u4ea4":19,"\u5b58\u5230\u5bf9\u5e94\u7684\u76ee\u5f55":18,"\u5b83\u5305\u542b\u4e86\u8bb8\u591a\u60ca\u8273\u7684\u7279\u6027":21,"\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u4e4b\u540e":18,"\u5df2\u7ecf\u53d1\u5e03":21,"\u5df2\u7ecf\u767b\u5f55\u5230\u4e86\u8fdc\u7aef\u670d\u52a1\u5668":18,"\u5e38\u89c1\u95ee\u9898":21,"\u5e76\u4e14\u6587\u6863\u4f1a\u901a\u8fc7github":19,"\u5f00\u53d1":20,"\u5feb\u901f\u4e86\u89e3":20,"\u5feb\u901f\u5f00\u59cb":[19,21],"\u60f3\u6210\u4e3a":21,"\u6211\u4eec\u52aa\u529b\u4fdd\u6301\u4e24\u79cd\u8bed\u8a00\u5bf9\u5e94\u5185\u5bb9\u7684\u51c6\u786e\u548c\u540c\u6b65":19,"\u6211\u4eec\u7528sphinx\u6765\u7ec4\u7ec7\u6587\u6863":19,"\u6253\u5f00\u6d4f\u89c8\u5668\u6253\u5f00\u672c\u5730\u6587\u4ef6\u68c0\u67e5":19,"\u62a5\u544a\u95ee\u9898":21,"\u6307\u5b9a\u8bc1\u4e66\u5373\u53ef":18,"\u6309\u7167sphinx\u89c4\u5219\u7f16\u8f91source\u4e2d\u7684\u6587\u4ef6\u5373\u53ef":19,"\u63a5\u4e0b\u6765\u4ece\u4f60\u7684\u7535\u8111\u4e2d\u5c31\u53ef\u4ee5\u767b\u5f55\u4e86\u4f60\u7684\u624b\u673a\u4e86\u9ed8\u8ba4\u5bc6\u7801\u5c31\u662f\u6211\u4eec\u7684app\u540d\u5b57":18,"\u652f\u6301":18,"\u652f\u6301\u8bc1\u4e66\u767b\u5f55":18,"\u6587\u6863\u4f53\u7cfb\u5206\u4e3a":19,"\u6587\u6863\u975e\u5e38\u91cd\u8981":19,"\u662f\u5f88\u591a\u5d4c\u5165\u5f0flinux\u7cfb\u7edf\u9996\u9009\u7684ssh\u5de5\u5177":18,"\u66f4\u591a\u94fe\u63a5":1,"\u6700\u540ecd\u5230qpython":19,"\u6765\u548c\u4e2d\u56fd\u6d3b\u8dc3\u7684qpython":21,"\u6765\u548c\u5168\u4e16\u754c\u7684":21,"\u6b22\u8fce":1,"\u6b22\u8fce\u52a0\u5165":20,"\u6df1\u5165\u6298\u817e\u7684\u6307\u5bfc":19,"\u7136\u540e\u6d4f\u89c8qpython":19,"\u7528":18,"\u7528\u6237\u4e00\u5757\u6765\u73a9\u8f6cqpython":21,"\u7528\u6237\u4e00\u8d77\u73a9\u8f6c":21,"\u7528\u6237\u5f00\u53d1\u7ec4":1,"\u7528\u6237\u5f00\u53d1\u8005\u7ec4":21,"\u7684\u6700\u65b0\u7248\u672c1":21,"\u7684\u8d21\u732e\u8005\u4e48":21,"\u7aef\u53e3":18,"\u7b2c\u4e00\u6b21\u4f7f\u7528":18,"\u7ed3\u5408qpython":18,"\u7ed9\u6211\u4eec\u53d1\u90ae\u4ef6":21,"\u7f16\u7a0b\u5411\u5bfc":20,"\u7f16\u7a0b\u6307\u5357":[19,21],"\u80fd\u8ba9\u4f60\u65b9\u4fbf\u5730\u8fdb\u884c\u7f16\u7a0b\u6765\u81ea\u52a8\u7ba1\u7406\u670d\u52a1\u5668\u6216\u4f60\u7684\u624b\u673a":18,"\u82f1\u6587":19,"\u83b7\u5f97qpython":18,"\u8bf7":21,"\u8bf7\u4ece\u5e94\u7528\u5e02\u573a\u5b89\u88c5":21,"\u8bf7\u52a0\u5165":21,"\u8d21\u732e\u8005\u6307\u5357":[19,21],"\u8d77\u6b65":1,"\u8fd1\u6765\u6084\u6084\u66f4\u65b0\u4e86\u4e0d\u5c11\u597d\u73a9\u7684\u5305":18,"\u8fd9\u4e2a\u529f\u80fd\u9002\u5408\u9ad8\u7ea7\u73a9\u5bb6":18,"\u8fdb\u5165\u5230":19,"\u8fdc\u7a0b\u62f7\u8d1d\u6587\u4ef6":18,"\u9009\u62e9shell":18,"\u957f\u6309termin":18,"\u9664\u4e86\u4ece\u624b\u673a\u4e0a\u767b\u5f55\u670d\u52a1\u5668\u5916":18,"\u9700\u8981\u4eceshell":18,"\u9879\u76ee\u7684qpython":19,"\u9ed1\u5ba2":20,"boolean":4,"byte":4,"case":[2,4,9],"class":[4,9,12,13],"default":[4,8,10,12,13],"do":[0,1,5,6,10,13],"docs\u4e2d\u5e76\u8fd0\u884cbuild":19,"docs\u76ee\u5f55\u4e2d":19,"export":8,"files\u4e0b\u521b\u5efadropbear\u76ee\u5f55":18,"final":4,"float":4,"function":[7,9,12,13,14],"import":[2,4,8,9,12,13,15],"int":[4,8],"long":[4,10],"new":[4,8,10,12],"null":[4,8],"org\u5373\u53ef\u770b\u5230\u6700\u65b0\u7684\u66f4\u65b0":19,"org\u7f51\u7ad9\u4e2d":19,"page\u529f\u80fd\u76f4\u63a5\u63a8\u5230qpython":19,"q\u7fa4":21,"qpython\u6587\u6863\u4f53\u7cfb\u8bf4\u660e":[20,21],"qpython\u662f\u4e00\u4e2a\u652f\u6301\u591a\u8bed\u8a00\u7684\u5e94\u7528":19,"qpython\u8d21\u732e\u8005\u6307\u5357":19,"qpython\u9ed1\u5ba2\u6307\u5357":[19,21],"qq\u7ec4":21,"return":[4,8,9,13],"shell\u4e2d\u8f93\u5165ssh":18,"short":4,"ssh\u5de5\u5177":18,"static":4,"switch":10,"team\u5185\u7684":19,"terminal\u4e2d\u8fdb\u884c\u4e0b\u521d\u59cb\u5316\u64cd\u4f5c":18,"throw":4,"true":[4,8],"try":[1,8,9,13],"var":2,"void":8,"while":[4,15],A:[4,10,15,16],AND:[15,16],ASE:4,And:[0,1,8,9,12,15],As:[9,10],But:9,By:[9,10,13],FOR:[15,16],For:[4,6,13,15,17],IF:15,IN:[13,15,16],IT:[15,16],If:[0,3,4,6,8,10,13,14],In:[4,9,13],It:[1,4,7,9,10,11,13,14,15,16],NOT:[15,16],No:9,THAT:15,THE:[15,16],THESE:15,That:9,The:[4,8,10,12,13,14],Then:[5,9,11],There:[1,4,10],To:[1,3,4,12,15],WILL:[15,16],WITH:[15,16],With:[11,13,15],__exit:13,__future__:12,__phello__:12,_abcol:12,_codecs_cn:12,_codecs_hk:12,_codecs_iso2022:12,_codecs_jp:12,_codecs_kr:12,_codecs_tw:12,_csv:12,_ctype:12,_ctypes_test:12,_hashlib:12,_heapq:12,_hotshot:12,_io:12,_json:12,_lsprof:12,_lwpcookiejar:12,_mozillacookiejar:12,_multibytecodec:12,_pyio:12,_sqlite3:12,_ssl:12,_strptime:12,_testcapi:12,_threading_loc:12,_weakrefset:12,abc:12,abil:[7,10],abl:[4,7],about:[0,3,4,6,9,10,15],abov:[2,4,10,11],abridg:4,absolut:4,ac:4,acc:0,acceler:4,acceleromet:4,accept:4,acces:4,access:[4,11,13],access_coarse_loc:[16,17],access_fine_loc:[16,17],access_network_st:[16,17],access_notification_polici:[16,17],access_superus:[16,17],access_wifi_st:[16,17],accomplish:13,accuraci:4,acquir:4,act:8,action:[4,8,10],activ:[1,3,4,8,10,15],activityresultfacad:[3,12],actual:9,ad:16,adapt:4,add:[4,9,10,13],addcontextmenuitem:4,addit:10,addoptionsmenuitem:4,address:4,adjust:4,advanc:[15,16],advantag:13,after:[6,9,10,11,16],ai:14,aifc:12,aim:[7,15,16],airplan:4,airplanermod:12,alert:12,algebra:14,all:[4,9,14],allow:[4,7,8,10,13],almost:9,alphabet:4,alreadi:[1,15],also:[3,4,7,10,11,13,15],altern:13,alwai:10,amaz:[1,13,15],amazon:1,an:[0,4,8,9,10,13,14,15,16],andoroid:4,android5:2,android:[1,2,3,4,8,9,10,11,12,13,14,15,17,19],androidfacad:[3,12],androidhelp:[1,3,4,8,9],ani:[0,1,4,6,8,9],anoth:[9,10],answer:[0,10],antigrav:12,anydbm:12,anymor:4,anyth:9,anywai:9,api14:4,api:[1,3,13,14,15],apk:[4,8],app:[2,8,13,14,15,17,18,20],appcach:4,applic:[1,3,4,10,13,15,16],applicationmanagerfacad:[3,12],appreci:0,appstor:[1,15,16,17],ar:[0,3,4,6,9,10,11,12,15,16],architectur:14,arduino:4,arg:13,argpars:12,argument:4,argv:8,arrai:14,ascii:4,ask:[1,4,9,10],asset:13,assit:13,associ:4,ast:12,asynchat:12,asyncor:12,atexit:12,attach:4,attachmenturi:4,attribut:4,audio:12,audiodev:12,audioop:12,author:12,authorized_kei:18,autofocu:4,automat:12,avail:[4,9,10],availblock:4,axi:4,azimuth:4,background:[13,15,16],backlight:4,backspac:9,bad:13,bar:[4,9,10],barcod:[12,15],base64:[4,12],base:14,basehttpserv:12,basi:17,basic:14,bastion:12,batteri:[4,15],batterycheckpres:4,batterygethealth:4,batterygetlevel:4,batterygetplugtyp:4,batterygetstatu:4,batterygettechnolog:4,batterygettemperatur:4,batterygetvoltag:4,batterymanagerfacad:[3,12],batterystartmonitor:4,batterystopmonitor:4,bdb:12,beam:4,beautifulsoup:12,becam:[1,3,9],becaus:[14,15,16,17],becom:[3,5,13],befor:[10,16],begin:9,beginn:[15,16],being:7,below:[11,14],besid:[7,10,11,13],best:[1,3],beta:8,better:[6,7],between:[4,10,16],big:10,bill:[16,17],bin:2,bind:4,binhex:12,bio:4,bisect:12,bit:9,blank:9,blob:15,block:4,blockcount:4,blocksiz:4,blog:[9,10],bluetooth:[4,13,15,16,17],bluetooth_admin:[16,17],bluetoothaccept:4,bluetoothactiveconnect:4,bluetoothconnect:4,bluetoothdiscoverycancel:4,bluetoothdiscoverystart:4,bluetoothfacad:[3,12],bluetoothgetconnecteddevicenam:4,bluetoothgetlocaladdress:4,bluetoothgetlocalnam:4,bluetoothgetremotedevicenam:4,bluetoothgetscanmod:4,bluetoothisdiscov:4,bluetoothmakediscover:4,bluetoothread:4,bluetoothreadbinari:4,bluetoothreadlin:4,bluetoothreadreadi:4,bluetoothsetlocalnam:4,bluetoothstop:4,bluetoothwrit:4,bluetoothwritebinari:4,board:4,bodi:4,bool:4,both:9,bottl:[12,13,20],bountysourc:1,box:[4,9],branch:[15,16,17],brand:10,briefli:5,bright:[12,15],broadcast:[4,14],brows:3,browsabl:8,browser:[3,4,10,15],bsddb:12,buffer:4,buffers:4,bug:[1,6,16],build:[0,8,13],built:[1,3,10,11,13,16],bundl:8,busi:8,button:[4,9,10,11,13],c:[10,13,14],calcount:14,calendar:12,call:[8,9,12,16],call_phon:[15,16,17],callabck:8,camera:[4,16,17],cameracapturepictur:4,camerafacad:[3,12],camerainteractivecapturepictur:4,camerastartpreview:4,camerastoppreview:4,can:[0,4,8,9,10,13,14,15,16],cancel:[4,9],cancl:4,cannot:[4,14,15],cap:10,capabl:14,captur:4,card:4,carmer:15,cat:18,categori:[4,8],caus:13,cdc:4,cdma:4,cell:4,center:10,cgi:12,cgihttpserv:12,cgitb:12,challeng:8,chanc:10,chang:4,change_network_st:[16,17],change_wifi_st:[16,17],charact:4,charg:4,charger:4,chat:1,check:[4,9,15],checkairplanemod:4,checkbluetoothst:4,checknetworkroam:4,checkout:8,checkringersilentmod:4,checkscreenon:4,checkwifist:4,chines:0,choic:4,choos:[3,4,8,10,11],chosen:4,christo:0,chunk:[4,12],claim:9,classnam:4,clear:4,click:[4,6,9,10,11],clipboard:[12,15],clone:19,close:[4,10,13],cmd:12,code:[4,8,9,10,11,12,13,14,15,16],codec:12,codeop:12,collabor:5,collect:[4,12,14],colorsi:12,column:4,com:[4,10,14,15,16,17,19],come:5,comfort:10,comma:4,command:[10,12],commit:4,common:[7,13],commonintentsfacad:[3,12],commun:[3,9,14,15],compat:9,compil:[8,10,12,13],compileal:12,complet:13,complex:13,compon:[10,14],comput:[3,14],comun:10,confer:14,config:12,configchang:8,configpars:12,confirm:4,connect:4,connid:4,consid:[2,4,5,9,15],consol:[1,3,13,15,16],constant:4,consult:10,contact:[4,6,8,15],contactsfacad:[3,12],contactsget:4,contactsgetattribut:4,contactsgetbyid:4,contactsgetcount:4,contactsgetid:4,contain:[0,1,4,9,10,12,14,15,17],contan:9,content:[3,4],context:[4,8],contextlib:12,contribut:[0,3,6],contributor:1,control:[10,12,15],conveni:[11,15,16],convient:11,cooki:12,cookielib:12,cool:6,copi:[10,12],copy_reg:12,core:[1,3],corner:10,correspond:15,could:[1,2,4,6,8,10,11,12,13],couldn:8,countri:4,cours:17,cprofil:12,cpu:4,creat:[4,6,9,10,16],creation:4,creator:3,critic:10,csv:12,ctype:12,current:[4,14],custom:[15,16],dai:4,darciss:0,dashboard:[3,8,18],data:[2,8,12,18],date:4,db:18,dbhash:12,dbkei:18,dead:4,debug:13,decim:[4,12],declar:13,dedic:14,def:13,defaulttext:4,defin:[4,13],definit:8,delaytim:4,delet:[4,10],deliveri:7,demand:1,demo:8,demonstr:4,depend:[10,14],deriv:12,describ:9,descript:0,desir:4,desktop:10,destinationaddress:4,detail:[4,5],dev:4,devci:4,develop:[1,4,6,7,8,9,10,12,13,14],devic:[1,2,4,10,13],dfault:4,di:12,dia:12,dial:4,dialog:[9,12],dialogcreatealert:4,dialogcreatedatepick:4,dialogcreatehorizontalprogress:4,dialogcreateinput:4,dialogcreatenfcbeammast:4,dialogcreatenfcbeamslav:4,dialogcreatepassword:4,dialogcreateseekbar:4,dialogcreatespinnerprogress:4,dialogcreatetimepick:4,dialogdismiss:4,dialoggetinput:[4,8,9],dialoggetpassword:4,dialoggetrespons:4,dialoggetselecteditem:4,dialogsetcurrentprogress:4,dialogsetitem:4,dialogsetmaxprogress:4,dialogsetmultichoiceitem:4,dialogsetnegativebuttontext:4,dialogsetneutralbuttontext:4,dialogsetpositivebuttontext:4,dialogsetsinglechoiceitem:4,dialogshow:4,didn:13,differ:[4,7,14,15,16,17],difflib:12,digit:4,dim:4,dimension:14,dinglisch:[16,17],dircach:12,directli:[4,10,11],directori:10,disabl:4,discharg:4,disconnect:4,discov:4,discover:4,discoveri:4,dismiss:4,displai:[4,9,13],distinct:14,distinguish:15,distribut:10,distutil:12,django:13,dmych:[9,10],doc:9,doctest:12,document:[1,3,10,12,15,16],docxmlrpcserv:12,doe:[4,9,13,15],doesn:[2,13],don:[0,8,9,10,12,13],dongl:4,doubl:4,down:[6,10],download:4,draft:[9,10],drawabl:4,drive:[15,16],driver:13,droid:[4,8,9],dropbear:18,dropbear_dss_host_kei:18,dropbear_ecdsa_host_kei:18,dropbear_rsa_host_kei:18,dss:18,dtmf:4,dumbdbm:12,dummy_thread:12,durat:4,dure:4,dynload:3,e:4,each:4,easi:[13,15,16],easili:[10,13],ecdsa:18,ecosystem:14,edit:[9,10,11],editor:[1,3,9,11,15,16,17],effici:13,els:[4,8,9],email:[0,1,5,8,12],empti:[4,9],en:[0,15],enabl:[4,15],encapsul:9,encod:[4,12],engin:[1,3,13,15],enhanc:[15,16],enqueu:4,ensornumb:4,enter:[9,10],enterpris:[1,3],entiti:14,env:2,environ:[4,8,10,15],equal:4,equival:4,error:[4,13,16],essenti:13,establish:4,estens:10,etc:[1,4,7,10,13,14,15,16],euroscipi:14,even:2,event:[3,4],eventclearbuff:4,eventdata:4,eventfacad:[3,12],eventgetbrodcastcategori:4,eventnam:4,eventpol:4,eventpost:4,eventregisterforbroadcast:4,eventunregisterforbroadcast:4,eventwait:4,eventwaitfor:4,ever:4,everi:9,ex:13,exampl:[4,9,13,15,16,17],exceed:4,except:[9,13,15],execut:[2,4,9,10],executeqpi:4,exit:[4,13],expans:7,expect:4,experi:13,experienc:[15,16],explicitli:10,explor:10,extend:[4,10,14,15,16],extplgplusnam:8,extra:[4,13],eyesfreefacad:[3,12],f:18,facad:[3,12],facebook:[1,2,15],fail:4,failur:4,fals:[0,4,9,13],familiar:9,faq:[1,15],fast:[13,14],fd:13,featur:[1,3,4,10,11,15],feedback:[1,3,5],feel:10,field:[4,9],fifth:9,file:[0,3,4,10,11],filecmp:12,fileinput:12,filenam:4,filepath:[4,13],filter:8,find:[6,8,10,15],firmwar:4,first:[2,9,10,16],fix:16,flag:[4,8],flashlight:[16,17],flask:13,flexiabl:13,fnmatch:12,focu:14,fogapod:0,folder:4,folk:7,follow:[0,1,2,3,6,8,9,10,12,13,15],foo:12,forc:4,forcestoppackag:4,foreground_servic:[16,17],forget:10,fork:1,format:[4,9],formatt:12,fortran:14,forward:1,found:[4,8,10],fourier:14,fpformat:12,fraction:12,framework:13,free:[10,15],french:0,friendli:[15,16],frodo821:0,from:[1,2,3,4,9,10,12,13],front:13,ftdi:4,ftp:[3,17],ftplib:12,full:[4,8],fulldismiss:4,fullkeyoverrid:4,fullqueri:4,fullquerydetail:4,fullscreen:[4,13],fullsetlist:4,fullsetproperti:4,fullshow:4,functool:12,fundament:14,funni:10,further:9,futur:13,future_builtin:12,g:[1,4,6],gener:[4,8,10],generatedtmfton:4,genericpath:12,geo:12,geocod:4,get:[1,2,10,12,13,15,16],get_account:[16,17],getcellloc:4,getclipboard:4,getconst:4,getdefault:4,getdeviceid:4,getdevicesoftwarevers:4,getextra:8,getinput:12,getint:4,getlastknownloc:4,getlaunchableappl:4,getline1numb:4,getmaxmediavolum:4,getmaxringervolum:4,getmediavolum:4,getneighboringcellinfo:4,getnetworkoper:4,getnetworkoperatornam:4,getnetworkstatu:4,getnetworktyp:4,getopt:12,getpackagevers:4,getpackageversioncod:4,getpass:12,getpassword:12,getphonetyp:4,getringervolum:4,getrunningpackag:4,getscreenbright:4,getscreentimeout:4,getsimcountryiso:4,getsimoper:4,getsimoperatornam:4,getsimserialnumb:4,getsimst:4,getstr:8,getsubscriberid:4,gettext:12,getvibratemod:4,getvoicemailalphatag:4,getvoicemailnumb:4,git:[0,19],github:[1,8,14,15,19],gitter:1,given:4,glob:12,global:13,go:[9,10],goal:3,goe:10,good:[4,9,15,16],googl:[1,15,16,17],gp:[4,13],grab:4,great:[1,3,5,7],greater:[4,5],greet:9,group:[0,1,5,15],grp:12,gsm:4,gsm_signal_strength:4,guarante:[4,14],gui:[13,15],guid:[6,7,15],gzip:12,h1:13,ha:[1,4,8,10,11,15],handl:[4,8],handler:13,handler_class:13,happen:9,happi:1,hardwar:[4,15],hash:4,hashlib:12,have:[1,6,8,10,13,15,16,17],head:13,header:13,health:4,heapq:12,hear:1,heard:4,hei:9,hello1:9,hello:[1,3,4,8,10,13],helloworld:9,help:[0,1,3,8,10,11,13,14],hepler:12,here:[4,8,9,10,15],hi:[9,10],hide:13,high:14,higher:[1,4],highlight:[10,11],hipip:10,hmac:12,home:13,homepag:13,hope:5,horizont:4,host:[3,12,13,18],hotshot:12,hour:4,how:[0,1,2,3,4,8,15],href:13,html:[4,11,15],htmlentitydef:12,htmllib:12,htmlparser:12,http:[4,8,13,14,15,19],httplib:12,i:[3,4,6,8,9,10,15,16,18],icon:[4,10],iconnam:4,id:[4,12,13],id_priv:18,idea:[6,10],identifi:4,ie:4,ihook:12,imag:[4,8],imaplib:12,imei:4,imghdr:12,immedi:4,implement:[1,13],importerror:9,importlib:12,imputil:12,imsi:4,inbox:4,includ:[1,4,10,14,15,16],incom:4,incomingnumb:4,increas:4,indent:[9,10],independ:8,index:[4,10],indic:4,info:4,inform:[6,12,13],initi:4,innov:13,input:[4,9],inputtyp:4,insert:[4,13],inspect:12,instal:[8,10,13,14,15],install_shortcut:[16,17],instead:[9,10],integr:[4,10,14,15,16],intent:[8,12,15],interact:7,interest:6,interfac:[9,10,13],internet:[15,16,17],interpret:[1,10,15,16],intro:0,introduc:[5,10],introduct:0,invit:[0,5],io:[1,3,12],ip:13,is24hour:4,iso:4,issu:[1,4,14,15],item:4,ith:15,its:10,japanes:0,java:4,javascript:11,jniu:13,job:13,join:[0,1,3,5,10],jpeg:4,jpegqual:4,json:[4,9,12],just:[0,2,3,9,10,11,12,13],keep:[6,13],kei:[4,9],kera:14,kernel:4,kersei:0,keyboard:4,keyboardhidden:8,keycod:4,keyword:[11,12],kill:18,kill_background_process:[16,17],kind:0,kit:10,kivi:[3,13],know:[3,6,9,16],known:4,kuri65536:4,kw:13,kyle:0,l:[15,16,17],label:[4,8],lack:[1,10],languag:[4,13],languagemodel:4,laptop:[11,13],last:[4,9],later:[2,4],latitud:4,launch:[1,3,4,10],launchabl:4,launcher:[8,16,17],layer:[4,15,16],layout:12,lead:10,learn:[14,15,16],learner:[15,16],least:9,leav:[9,10],left:[9,10],length_short:8,let:[6,8,9,10,13,15,16],level:[4,10,14],lib:[10,12],libari:10,librari:[1,3,4,8,13,14,15,16],light:4,like:[1,2,4,7,8,10,11,12,13,14],limit:[15,16,17],line:[4,8,9,10,13],linear:14,linecach:12,link:[2,10,15,16],linux4:12,list:[4,10],listen:4,load:[4,13],local:[1,3,4,10,11,12],localhost:13,locat:[12,15,16],locationfacad:[3,12],locationprovid:4,locationprovideren:4,lock:4,log:[4,12],log_request:13,logcat:4,logic:9,logo:10,longitud:4,look:16,loop:4,lr:0,lua:11,m78k0f0730:4,m:[6,9],macpath:12,macurl2path:12,mae:0,magnet:4,mai:[1,8,15],mail:4,mailbox:12,mailcap:12,main:[1,3,7,10,11],mainli:[10,15,16],maintain:[7,10],make:[4,5,6,9,10,13,15],make_serv:13,makeint:4,maketext:8,maketoast:[4,8,9],manag:[12,15],mani:[1,4,10,13,14,16],manual:12,map:4,mark:4,markupbas:12,master:[4,15],match:4,matplotlib:[15,16],max:4,maximum:4,maximumprogress:4,maximunprogress:4,maxresult:4,mbundl:8,mcc:4,md5:12,md:[0,15],me:10,mean:[9,15,16,17],meanin:9,media:[12,15],mediaisplai:4,mediaplai:4,mediaplay:15,mediaplayclos:4,mediaplayerfacad:[3,12],mediaplayinfo:4,mediaplaylist:4,mediaplaypaus:4,mediaplayseek:4,mediaplaysetloop:4,mediaplaystart:4,mediarecorderfacad:[3,12],meet:1,meid:4,member:[1,3],mention:2,menu:[4,10],merg:0,messag:[4,9],method:[4,13],mhlib:12,microphon:4,million:[1,15],millisecond:4,mime:4,mimetool:12,mimetyp:[8,12],mimewrit:12,mimifi:12,mindist:4,minupdatedist:4,minut:4,miut:4,mix:[10,13],mjpeg:4,mkdir:18,mmap:12,mnc:4,mobil:4,mode:[7,12,13],model:4,modifi:10,modul:9,modulefind:12,month:4,more:[3,5,10,15,16],most:[4,9,10,11,12,13],move:[1,11],mpyapi:8,ms:4,msec:4,msisdn:4,much:10,multi:13,multifil:12,multipl:[4,15,16],must:4,mutex:12,my:[4,10],myappid:8,mywsgirefserv:13,n:[4,8,14],name:[4,8,9,10,13,15,17],necessari:9,need:[1,2,8,9,12,13,14],neg:4,neighbor:4,net:[16,17],netrc:12,network:[1,4],networkstatu:[12,15],newest:1,next:[0,4,9,10],nfc:[12,13,15,16,17],nfcbeammessag:4,nice:10,nntplib:12,non:4,none:[4,9,13],note:[10,13,15],noth:9,notic:10,notif:[4,9,10],notifi:[12,15],now:[2,6,8,9,10,13,14,16],ntpath:12,nturl2path:12,number:[4,10,12,14],number_of_ev:4,numer:[4,14],numpi:[10,15,16],object:[4,9,10,14],obvious:[9,10],occur:4,off:4,offer:[6,7,9,10,13],offici:1,offlin:[15,16],offset:4,ok:[4,9],oldest:4,onactivityresult:8,onc:10,one:[4,9,14,15],onli:[3,4,8,9,15],onlin:[1,3],onpyapi:8,onqpyexec:8,oop:9,opcod:12,open:[1,3,4,9,10,13,14,15],opengl2:13,opengl:13,opensourc:7,oper:4,option:[4,13],optpars:12,order:[4,9],ordinari:10,org:[0,2,4,5,6,8,10,15,18],organis:3,orient:[4,8],origin:4,os2emxpath:12,os:[4,12],other:[2,9,10,13,15,16],otherwis:[4,9],our:9,out:[3,6,8],output:9,outsid:8,over:4,overheat:4,overrid:[4,8],own:3,ox:[15,16],p:18,packag:[4,8,10,13,15,16],packagenam:4,packagevers:[12,15],page:[10,13],paid:7,param:8,paramet:4,part:[5,7,13],partial:4,pass:[4,13],password:4,path:[4,13],paus:4,pc:[11,13],pdb:12,pelas:13,peopl:[10,13,14],percentag:4,period:4,permiss:[13,15],permission_run_task:[16,17],phe:0,phone:[4,11,15,16],phonecal:4,phonecallnumb:4,phonedi:4,phonedialnumb:4,phonefacad:[3,12],phonenumb:4,phonestat:12,pic:[10,11],pick:4,pickcontact:4,picker:4,pickl:12,pickletool:12,pickphon:4,pictur:[4,10],pid:18,pip:[1,3,10,12],pip_consol:10,pipe:12,pitch:4,pizza:4,pkg_resourc:12,pkgutil:12,pl2303:4,plai:[1,4,9,15,16,17],plain:[8,11],plan:13,plat:12,platform:12,pleas:[0,1,2,4,5,6,8,10,15],plistlib:12,plu:10,plug:4,plugin:8,plyer:12,point:[4,13],polit:9,poll:4,pop:9,popen2:12,poplib:12,port:[4,13],posit:4,posixfil:12,posixpath:12,possibl:4,post:[0,4,10],power:[3,4,14],pprint:12,practis:14,pre:[8,10,13],prebuilt:[15,16],prefer:[4,15],preferencesfacad:[3,12],prefgetal:4,prefgetvalu:4,prefputvalu:4,presenc:4,present:4,press:9,preview:[4,11],previou:13,previous:[4,16],print:[9,13],prioriti:1,probabl:4,process:[4,8],process_outgoing_cal:[16,17],product:8,profession:15,profil:12,program:[1,9,13,14,15,16],progress:[2,12,13],project:[0,1,3,4,6,7,8,10,11,13,14,15,16],prompt:[4,9],properti:[4,10],propos:8,protect:8,provid:[12,14,15,16],pstat:12,pty:12,publish:[0,8],pull:[0,1,9],pure:[10,13],purpos:4,push:[1,3],put:[4,9,10,13],putextra:8,putstr:8,py:[9,10,11,12,13],py_compil:12,pyclbr:12,pycod:8,pydoc:12,pydoc_data:12,pygam:2,pypi:14,python2:[10,17],python3:17,python:[1,2,3,8,9,10,11,13,14,15,16],q:[13,15,16],qedit4web:11,qeditor:3,qpy:[1,2,3,12,13,14,18],qpy_run_with_shar:8,qpyapp:13,qpyhttpd:13,qpyi:15,qpyinterfacefacad:[3,12],qpylib:8,qpypi:[3,10,15,16,17],qpyplu:10,qpysl4a:[14,15,16],qpython3:[0,1,4,8,13,16,21],qpython:[0,2,3,4,6,9,11,14,15,18,19,20],qpython_3x_featu:15,qpythoninit:12,qq:0,qr:[10,15,16],qrcode:[3,10,17],qscript:13,qsl4a:[1,3],qsl4ahelp:16,qslaapp:16,qualiti:4,queri:4,queryattribut:4,querycont:4,question:[0,10],queue:[4,12],quick:[1,3],quickli:[3,10],quiet:13,quiethandl:13,quopri:12,qustion:1,r:4,radio:4,rais:14,random:[12,14],rapid:13,re:[9,12],reach:10,reaction:9,read:[9,12],read_call_log:[16,17],read_contact:[16,17],read_external_storag:[16,17],read_media_storag:[16,17],read_phone_st:[16,17],read_sm:[15,16,17],readbatterydata:4,reader:[3,15,16,17],readi:6,readloc:4,readm:15,readphonest:4,readsensor:4,readsignalstrength:4,real:9,rearrang:16,receiv:4,receive_boot_complet:[16,17],receive_sm:[16,17],receive_user_pres:[16,17],receiveev:4,recent:[4,10],recipi:4,recogn:4,recognizeint:4,recognizespeech:4,recommend:13,recongn:4,reconnect:4,record:4,record_audio:[16,17],recordaudio:4,recordercapturevideo:4,recorderstartmicrophon:4,recorderstartvideo:4,recorderstop:4,redirect:10,refer:[4,14],regist:4,regular:10,rehot:0,relat:14,releas:[1,4,13],relev:15,reload:13,remot:4,remov:[4,13],renam:10,replac:[9,15],repo:0,report:[1,3,4,5],repositori:[15,16],repr:[12,13],repres:4,represent:4,request:[0,1,4,13],requestcod:8,requir:[8,12,13,15,17],requiredvers:4,resolut:4,resolutionlevel:4,resolv:4,resourc:[1,4,10,12,13,15],respond:9,respons:4,rest:10,restart:16,result:[4,8,9,11],resultcod:[4,8],resultvalu:4,retriev:4,rexec:12,rfc822:12,right:15,ringer:[12,15],river:[0,8],rl78:4,rlcomplet:12,roam:4,robotpars:12,role:4,roll:4,root:[2,13],rout:13,router:13,routin:14,rpc:9,rpcpostev:4,rsa:18,run:[0,1,2,3,4,9,10,11,13,15,16],runpi:12,runtim:[13,15],russian:0,s:[2,3,4,7,9,10,11,14,15,17],said:10,same:[10,12],sampl:[2,3,4,8,13,15,16],samples:4,save:[4,9,10],scan:4,scanbarcod:4,scanner:4,scenario:15,sched:12,scheme:8,scientif:[14,15,16],scikit:[15,16],scipi:[15,16],scp:18,screen:[9,10,12,15],screenorient:8,screenshot:[9,10,13],script:[1,2,3,4,7,9,10,11,13,15,16],script_exec_pi:8,script_result:4,sdcard:[4,10,13],sdk:4,search:[4,10,11],second:[4,10],see:[4,9,10,11,12],seek:4,seem:8,select:4,selectionarg:4,self:[0,4,13],send:[0,1,4,5,6,8],send_sm:[15,16,17],sendbroadcast:[12,15],sendbroadcastint:4,sendemail:[12,15],sensit:[15,16,17],sensor:[4,15],sensormanagerfacad:[3,12],sensornumb:4,sensorsgetaccuraci:4,sensorsgetlight:4,sensorsreadacceleromet:4,sensorsreadmagnetomet:4,sensorsreadorient:4,sent:4,separ:[4,9],serial:[3,12],serv:13,serve_forev:13,server:[4,13],server_clos:13,server_stat:13,serveradapt:13,servic:[1,3,4,13],session:4,set:[4,8,10,12,15],setact:8,setclassnam:8,setclipboard:4,setmediavolum:4,setresultboolean:4,setresultbooleanarrai:4,setresultbyt:4,setresultbytearrai:4,setresultchar:4,setresultchararrai:4,setresultdoubl:4,setresultdoublearrai:4,setresultfloat:4,setresultfloatarrai:4,setresultinteg:4,setresultintegerarrai:4,setresultlong:4,setresultlongarrai:4,setresultserializ:4,setresultshort:4,setresultshortarrai:4,setresultstr:4,setresultstringarrai:4,setringervolum:4,setscreenbright:4,setscreentimeout:4,settingsfacad:[3,12],setuptool:12,sever:[1,13,14],sgmllib:12,sh:19,sha:12,share:[2,3,4,10,11],shell:11,shelv:12,shlex:12,shortcut:10,shoul:13,should:[3,4,9,10],show:[4,8,9,10],shown:9,shutdown:13,shutil:12,signal:4,signalstrength:15,signalstrengthfacad:[3,12],silent:12,sim:4,similar:9,simpl:[8,9],simple_serv:13,simplehttpserv:12,simplexmlrpcserv:12,simplifi:12,sinc:10,singl:10,site:[10,12],sl4a:[1,3,4,7,12,15,16],slave:4,sm:[4,13,15],small:9,smartphon:13,smsdeletemessag:4,smsfacad:[3,12],smsgetattribut:4,smsgetmessag:4,smsgetmessagebyid:4,smsgetmessagecount:4,smsgetmessageid:4,smsmarkmessageread:4,smssend:4,smtpd:12,smtplib:12,sndhdr:12,snippet:11,so:[1,8,9,11,12,13,15,16],social:1,socket:[4,12],socketserv:12,softwar:[4,14],solut:13,solv:1,some:[1,3,4,6,9,10,11,13,15,16,17],sometim:[1,15],somth:10,soon:[1,5],sophist:14,sour:2,sourc:[4,10,13,14,15],space:9,speak:4,specif:4,specifi:4,speech:4,speechrecognitionfacad:[3,12],speechrecongit:15,spinner:4,spn:4,sponsor:[1,3],sqlite3:12,sre:12,sre_compil:12,sre_const:12,sre_pars:12,sshd:18,ssl:[12,16],stack:14,stackoverflow:1,stardard:[3,13],start:[1,9,11,12,13],startact:[12,15],startactivityforresult:[4,8],startactivityforresultint:4,startactivityint:4,starteventdispatch:4,startinteractivevideorecord:4,startloc:4,startsens:4,startsensingthreshold:4,startsensingtim:4,starttrackingphonest:4,starttrackingsignalstrength:4,stat:[4,12],state:4,statement:9,static_fil:13,statu:12,statvf:12,stderr:13,step:[1,3],still:9,stop:[12,13],stopeventdispatch:4,stoploc:4,stopsens:4,stoptrackingphonest:4,stoptrackingsignalstrength:4,store:[4,15],str:4,strategi:17,stream:4,street:4,strength:4,strict:[15,16,17],string:[0,4,8,9,12],stringio:12,stringold:12,stringprep:12,strong:13,struct:[4,12],su:18,subject:4,subprocess:12,subscrib:4,subtyp:4,succeed:4,success:4,successfulli:4,suggest:[3,5],sunau:12,sunaudio:12,suppli:4,support:[0,2,5,6,10,11,12,13,14,15,16],sure:8,sv:4,swipe:10,sy:[8,13],symbol:12,symtabl:12,syntax:[10,11],sysconfig:12,syslog:12,system:[10,12,15],system_alert_window:[16,17],t:[0,2,4,8,9,10,12,13,15,18],tabnanni:12,tag:4,take:[4,13,16],takepictur:4,talk:1,tap:[9,10],tarfil:12,target:[4,13],targetpath:4,tasker:[8,16,17],team:[1,3,10,13],technic:[13,15,16],technolog:[3,4],tell:0,telnetlib:12,temperatur:4,tempfil:12,templat:13,termin:[2,18],termio:12,test:[1,3,6,10],testapp:13,tester:[1,3,5],text:[4,8,9,10,11,13],texttospeech:15,texttospeechfacad:[3,12],textwrap:12,than:4,thank:[0,5,9,10],theano:14,thei:[1,12,16],them:[4,9,10,12],thi:[0,1,4,5,6,8,9,10,12,13,14,15,16],thing:8,think:9,third:15,though:10,thread:[12,13],three:[7,9],threshold:4,through:[1,3,8,10,12,13],time:4,timeit:12,timeout:4,titl:[4,9,13],titlebar:13,tk:12,toaiff:12,toast:[0,8,9,12,15],toggl:4,toggleairplanemod:4,togglebluetoothst:4,toggleringersilentmod:4,togglevibratemod:4,togglewifist:4,token:12,tone:4,tonedur:4,tonegener:15,tonegeneratorfacad:[3,12],tool:[1,3,10,14],toolbar:[9,10],top:[9,10],topic:0,touch:13,trace:12,traceback:12,track:4,tragi:4,transfer:[15,16],transform:14,translat:[0,1,3],treat:9,tt:4,ttsisspeak:4,ttsspeak:4,tty:12,ttyusb0:4,tupl:4,turkish:0,twitter:1,two:[9,10,15],type:[4,7,10,12,15,16],typic:4,tz:4,ui:13,uifacad:[3,12],uix:13,unavail:4,under:15,undo:10,unicodedata:12,unind:9,uninstal:10,uninstall_shortcut:[16,17],uniqu:4,unittest:12,unknown:4,unless:10,unplug:4,unreadonli:4,unspecifi:4,until:4,up:[4,8,9],updat:[0,4],upgrad:1,upload:[10,11],upper:10,uri:4,url:[4,11,13],urllib2:12,urllib:12,urlpars:12,us:[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17],usag:[10,15],usb:[3,12,15],usbserialactiveconnect:4,usbserialconnect:4,usbserialdisconnect:4,usbserialgetdevicelist:4,usbserialgetdevicenam:4,usbserialhosten:4,usbserialread:4,usbserialreadbinari:4,usbserialreadreadi:4,usbserialwrit:4,usbserialwritebinari:4,usedrop:10,user:[3,4,7,8,9,10,12,13,15,16,18],userdict:12,userlist:12,usernam:9,userstr:12,usual:[10,12],util:4,uu:12,uuid:[4,12],valu:[4,9],variabl:9,variou:4,vend:[16,17],veri:[9,11,13],version:[1,4,15,16],via:4,vibrat:[12,15,16,17],video:[8,12],videos:4,view:[8,11,12,13],viewcontact:4,viewhtml:4,viewmap:4,visibl:4,voic:4,voltag:4,volum:[12,15],vs:4,wa:[4,14,16],wai:[1,3,9,10,13],wait:4,waitforev:4,wake:4,wake_lock:[16,17],wakelock:15,wakelockacquirebright:4,wakelockacquiredim:4,wakelockacquireful:4,wakelockacquireparti:4,wakelockfacad:[3,12],wakelockreleas:4,want:[0,1,3,4,5,6,8,9,10,13,14],warn:12,watch:8,wave:12,we:[0,1,2,4,5,6,8,9,13,14,15,16,17],weakref:12,web:[13,20],webapp:[3,13,15,16],webbrows:12,webcam:[4,15],webcamadjustqu:4,webcamfacad:[3,12],webcamstart:4,webserv:13,webview:[12,13],webviewshow:4,welcom:3,well:[7,9,14],were:[4,12],what:[0,6,9,10,15],wheel:[15,16],when:[4,8,9,10,11,13],whenev:4,where:[1,4,6,16],whether:15,which:[0,4,5,7,8,9,10,11,12,13,15,16,17],whichdb:12,whish:13,who:14,whole:9,why:[3,9,15,16,17],widget:4,wifi:4,wifidisconnect:4,wififacad:[3,12],wifigetconnectioninfo:4,wifigetscanresult:4,wifilock:15,wifilockacquireful:4,wifilockacquirescanonli:4,wifilockreleas:4,wifireassoci:4,wifireconnect:4,wifistartscan:4,wiki:2,willing:0,without:[10,13],wonder:9,word:0,work:[4,9,15,16],world:[1,3,4,13],worldwid:15,worri:9,wow:9,write:[1,3,4,6,10,11],write_external_storag:[16,17],write_sm:[16,17],written:4,wrote:9,wsgiref:[12,13],wsgirequesthandl:13,www:15,x:[3,4,15],xdrlib:12,xml:[0,12],xmllib:12,xmlrpclib:12,y:4,ye:10,year:4,yet:13,you:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16],your:[0,1,3,6,9,10,13,14,15,16],yourself:13,youself:5,youtub:[4,8],z:4,zipfil:12,zrh:0},titles:["Contributors","Welcome to read the QPython guide!","FAQ","Getting started","AndroidFacade","Welcome contribute","Join the tester community","Android","QPython Open API","Writing \u201cHello World\u201d","QPython: How To Start","Use the best way for developing","QPython built-in Libraries","QPython\u2019s main features","QPYPI","<no title>","QPython 3x featues","QPython Ox featues","\u5982\u4f55\u5728QPython \u4f7f\u7528 SSH","QPython\u6587\u6863\u4f53\u7cfb\u8bf4\u660e","\u5feb\u901f\u5f00\u59cb","\u4e2d\u6587\u7528\u6237\u5411\u5bfc"],titleterms:{"0":16,"1":[10,16],"2":[7,10,16],"2020":16,"3":[7,10],"3l":16,"3rd":12,"3s":16,"3x":16,"4":10,"5":10,"\u4e2d\u6587\u7528\u6237\u5411\u5bfc":21,"\u4f60\u7684\u670d\u52a1\u5668":18,"\u4f7f\u7528":18,"\u5176\u4ed6":18,"\u5982\u4f55\u5728qpython":18,"\u5982\u4f55\u63d0\u4ea4\u6587\u6863":19,"\u5982\u4f55\u63d0\u4ea4\u7ffb\u8bd1":19,"\u5982\u4f55\u767b\u5f55\u5230\u4f60\u7684\u624b\u673a":18,"\u5982\u4f55\u8d21\u732e":21,"\u5982\u4f55\u8fdc\u7a0b\u767b\u5f55":18,"\u5feb\u901f\u5f00\u59cb":20,"\u66f4\u591a\u94fe\u63a5":21,"\u6b22\u8fce":21,"\u7528\u6237\u5f00\u53d1\u7ec4":21,"\u7f16\u7a0b\u6307\u5357":20,"\u8d21\u732e\u8005\u6307\u5357":20,"\u8d77\u6b65":21,"new":[1,16],"qpython\u6587\u6863\u4f53\u7cfb\u8bf4\u660e":19,"qpython\u9ed1\u5ba2\u6307\u5357":20,For:1,To:10,activityresultfacad:4,aipi:14,airplanermod:4,alert:4,android:[7,16],androidfacad:4,androidhelp:12,api:[4,7,8,12],app:16,applic:8,applicationmanagerfacad:4,ar:1,audio:4,author:4,barcod:4,batterymanagerfacad:4,becam:5,becom:6,best:11,bluetoothfacad:4,both:[16,17],bright:4,brows:7,browser:11,built:[5,12],call:4,camerafacad:4,chines:1,choos:13,clipboard:4,commonintentsfacad:4,commun:[0,1,5,6,10],comput:11,consol:[7,10],contactsfacad:4,content:8,contribut:[1,5],contributor:[0,3],control:4,core:7,dashboard:10,data:4,develop:[0,3,5,11],dia:4,dialog:4,document:5,dynload:12,editor:[7,10],enterpris:7,event:5,eventfacad:4,eyesfreefacad:4,facad:4,faq:2,featu:[16,17],featur:[13,16],feedback:6,file:7,from:[8,11],ftp:7,geo:4,get:[3,4],getinput:4,getpassword:4,go:1,gui:1,guid:[1,3],hello:9,help:5,host:4,how:[5,10],i:13,inform:4,intent:4,io:[7,8],join:6,kivi:7,launch:5,layout:4,let:1,librari:[7,9,10,12],local:[0,5],locat:4,locationfacad:4,main:13,manag:4,media:4,mediaplayerfacad:4,mediarecorderfacad:4,member:5,mode:4,more:9,networkstatu:4,nfc:4,notifi:4,now:1,numpi:14,ol:17,onlin:8,open:8,organ:0,organis:5,os:17,other:[1,14],own:8,ox:17,packag:14,packagevers:4,permiss:[16,17],phonefacad:4,phonestat:4,pip:7,preferencesfacad:4,program:[3,5,7,10],progress:4,project:5,provid:4,publish:16,python:[7,12,17],qeditor:11,qpy:[7,8],qpyinterfacefacad:4,qpypi:[8,14],qpysla:14,qpython:[1,5,7,8,10,12,13,16,17,21],qrcode:7,qsl4a:7,qsl4ahelp:14,quick:7,read:[1,4],reader:7,report:6,requir:[4,16],ringer:4,run:8,s:[1,8,13,16],sampl:9,scipi:14,screen:4,script:8,sendbroadcast:4,sendemail:4,sensormanagerfacad:4,serial:4,servic:[7,8],settingsfacad:4,share:[5,8],should:13,signalstrengthfacad:4,silent:4,sl4a:9,smsfacad:4,some:8,speechrecognitionfacad:4,sponsor:5,ssh:18,stardard:12,start:[3,4,10],startact:4,statu:4,stop:4,suggest:6,support:1,system:4,test:5,tester:6,texttospeechfacad:4,thank:1,toast:4,tonegeneratorfacad:4,tool:7,translat:5,uifacad:4,us:11,usb:4,user:[1,5],v3:16,vibrat:4,video:4,view:4,volum:4,wai:11,wakelockfacad:4,webapp:7,webcamfacad:4,webview:4,welcom:[1,5],what:[1,16],who:1,why:13,wififacad:4,world:9,write:9,x:7,your:[8,11]}}) \ No newline at end of file diff --git a/docs/static/ajax-loader.gif b/docs/static/ajax-loader.gif deleted file mode 100644 index 61faf8cab23993bd3e1560bff0668bd628642330..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN diff --git a/docs/static/basic.css b/docs/static/basic.css index 6f40830..bf18350 100644 --- a/docs/static/basic.css +++ b/docs/static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -15,6 +15,12 @@ div.clearer { clear: both; } +div.section::after { + display: block; + content: ''; + clear: left; +} + /* -- relbar ---------------------------------------------------------------- */ div.related { @@ -81,10 +87,26 @@ div.sphinxsidebar input { font-size: 1em; } +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + div.sphinxsidebar #searchbox input[type="text"] { - width: 170px; + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; } + img { border: 0; max-width: 100%; @@ -108,7 +130,7 @@ ul.search li a { font-weight: bold; } -ul.search li div.context { +ul.search li p.context { color: #888; margin: 2px 0 0 30px; text-align: left; @@ -199,6 +221,11 @@ table.modindextable td { /* -- general body styles --------------------------------------------------- */ +div.body { + min-width: 450px; + max-width: 800px; +} + div.body p, div.body dd, div.body li, div.body blockquote { -moz-hyphens: auto; -ms-hyphens: auto; @@ -210,6 +237,16 @@ a.headerlink { visibility: hidden; } +a.brackets:before, +span.brackets > a:before{ + content: "["; +} + +a.brackets:after, +span.brackets > a:after { + content: "]"; +} + h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -240,19 +277,25 @@ p.rubric { font-weight: bold; } -img.align-left, .figure.align-left, object.align-left { +img.align-left, figure.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } -img.align-right, .figure.align-right, object.align-right { +img.align-right, figure.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } -img.align-center, .figure.align-center, object.align-center { +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { display: block; margin-left: auto; margin-right: auto; @@ -266,30 +309,41 @@ img.align-center, .figure.align-center, object.align-center { text-align: center; } +.align-default { + text-align: center; +} + .align-right { text-align: right; } /* -- sidebars -------------------------------------------------------------- */ -div.sidebar { +div.sidebar, +aside.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; - padding: 7px 7px 0 7px; + padding: 7px; background-color: #ffe; width: 40%; float: right; + clear: right; + overflow-x: auto; } p.sidebar-title { font-weight: bold; } +div.admonition, div.topic, blockquote { + clear: left; +} + /* -- topics ---------------------------------------------------------------- */ div.topic { border: 1px solid #ccc; - padding: 7px 7px 0 7px; + padding: 7px; margin: 10px 0 10px 0; } @@ -311,10 +365,6 @@ div.admonition dt { font-weight: bold; } -div.admonition dl { - margin-bottom: 0; -} - p.admonition-title { margin: 0px 10px 5px 0px; font-weight: bold; @@ -325,13 +375,44 @@ div.body p.centered { margin-top: 25px; } +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + /* -- tables ---------------------------------------------------------------- */ table.docutils { + margin-top: 10px; + margin-bottom: 10px; border: 0; border-collapse: collapse; } +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + table caption span.caption-number { font-style: italic; } @@ -365,22 +446,34 @@ table.citation td { border-bottom: none; } +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + /* -- figures --------------------------------------------------------------- */ -div.figure { +div.figure, figure { margin: 0.5em; padding: 0.5em; } -div.figure p.caption { +div.figure p.caption, figcaption { padding: 0.3em; } -div.figure p.caption span.caption-number { +div.figure p.caption span.caption-number, +figcaption span.caption-number { font-style: italic; } -div.figure p.caption span.caption-text { +div.figure p.caption span.caption-text, +figcaption span.caption-text { } /* -- field list styles ----------------------------------------------------- */ @@ -405,6 +498,74 @@ table.field-list td, table.field-list th { hyphens: manual; } +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + /* -- other body styles ----------------------------------------------------- */ ol.arabic { @@ -427,11 +588,78 @@ ol.upperroman { list-style: upper-roman; } +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +dl.footnote > dt, +dl.citation > dt { + float: left; + margin-right: 0.5em; +} + +dl.footnote > dd, +dl.citation > dd { + margin-bottom: 0em; +} + +dl.footnote > dd:after, +dl.citation > dd:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dt:after { + content: ":"; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + dl { margin-bottom: 15px; } -dd p { +dd > :first-child { margin-top: 0px; } @@ -445,6 +673,11 @@ dd { margin-left: 30px; } +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + dt:target, span.highlighted { background-color: #fbe54e; } @@ -458,14 +691,6 @@ dl.glossary dt { font-size: 1.1em; } -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - .versionmodified { font-style: italic; } @@ -504,6 +729,13 @@ dl.glossary dt { font-style: oblique; } +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + abbr, acronym { border-bottom: dotted 1px; cursor: help; @@ -516,29 +748,69 @@ pre { overflow-y: hidden; /* fixes display issues on Chrome browsers */ } +pre, div[class*="highlight-"] { + clear: both; +} + span.pre { -moz-hyphens: none; -ms-hyphens: none; -webkit-hyphens: none; hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; } td.linenos pre { - padding: 5px 0px; border: 0; background-color: transparent; color: #aaa; } table.highlighttable { - margin-left: 0.5em; + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; } table.highlighttable td { - padding: 0 0.5em 0 0.5em; + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; } div.code-block-caption { + margin-top: 1em; padding: 2px 5px; font-size: small; } @@ -547,8 +819,14 @@ div.code-block-caption code { background-color: transparent; } -div.code-block-caption + div > div.highlight > pre { - margin-top: 0; +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ } div.code-block-caption span.caption-number { @@ -560,21 +838,7 @@ div.code-block-caption span.caption-text { } div.literal-block-wrapper { - padding: 1em 1em 0; -} - -div.literal-block-wrapper div.highlight { - margin: 0; -} - -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; + margin: 1em 0; } code.xref, a code { @@ -615,8 +879,7 @@ span.eqno { } span.eqno a.headerlink { - position: relative; - left: 0px; + position: absolute; z-index: 1; } diff --git a/docs/static/comment-bright.png b/docs/static/comment-bright.png deleted file mode 100644 index 15e27edb12ac25701ac0ac21b97b52bb4e45415e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmVgfIX78 z$8Pzv({A~p%??+>KickCb#0FM1rYN=mBmQ&Nwp<#JXUhU;{|)}%&s>suq6lXw*~s{ zvHx}3C%<;wE5CH!BR{p5@ml9ws}y)=QN-kL2?#`S5d*6j zk`h<}j1>tD$b?4D^N9w}-k)bxXxFg>+#kme^xx#qg6FI-%iv2U{0h(Y)cs%5a|m%Pn_K3X_bDJ>EH#(Fb73Z zfUt2Q3B>N+ot3qb*DqbTZpFIn4a!#_R-}{?-~Hs=xSS6p&$sZ-k1zDdtqU`Y@`#qL z&zv-~)Q#JCU(dI)Hf;$CEnK=6CK50}q7~wdbI->?E07bJ0R;!GSQTs5Am`#;*WHjvHRvY?&$Lm-vq1a_BzocI^ULXV!lbMd%|^B#fY;XX)n<&R^L z=84u1e_3ziq;Hz-*k5~zwY3*oDKt0;bM@M@@89;@m*4RFgvvM_4;5LB!@OB@^WbVT zjl{t;a8_>od-~P4 m{5|DvB&z#xT;*OnJqG}gk~_7HcNkCr0000W zanA~u9RIXo;n7c96&U)YLgs-FGlx~*_c{Jgvesu1E5(8YEf&5wF=YFPcRe@1=MJmi zag(L*xc2r0(slpcN!vC5CUju;vHJkHc*&70_n2OZsK%O~A=!+YIw z7zLLl7~Z+~RgWOQ=MI6$#0pvpu$Q43 zP@36QAmu6!_9NPM?o<1_!+stoVRRZbW9#SPe!n;#A_6m8f}|xN1;H{`0RoXQ2LM47 zt(g;iZ6|pCb@h2xk&(}S3=EVBUO0e90m2Lp5CB<(SPIaB;n4))3JB87Or#XPOPcum z?<^(g+m9}VNn4Y&B`g8h{t_$+RB1%HKRY6fjtd-<7&EsU;vs0GM(Lmbhi%Gwcfs0FTF}T zL{_M6Go&E0Eg8FuB*(Yn+Z*RVTBE@10eIOb3El^MhO`GabDll(V0&FlJi2k^;q8af zkENdk2}x2)_KVp`5OAwXZM;dG0?M-S)xE1IKDi6BY@5%Or?#aZ9$gcX)dPZ&wA1a< z$rFXHPn|TBf`e?>Are8sKtKrKcjF$i^lp!zkL?C|y^vlHr1HXeVJd;1I~g&Ob-q)& z(fn7s-KI}G{wnKzg_U5G(V%bX6uk zIa+<@>rdmZYd!9Y=C0cuchrbIjuRB_Wq{-RXlic?flu1*_ux}x%(HDH&nT`k^xCeC ziHi1!ChH*sQ6|UqJpTTzX$aw8e(UfcS^f;6yBWd+(1-70zU(rtxtqR%j z-lsH|CKQJXqD{+F7V0OTv8@{~(wp(`oIP^ZykMWgR>&|RsklFMCnOo&Bd{le} zV5F6424Qzl;o2G%oVvmHgRDP9!=rK8fy^!yV8y*4p=??uIRrrr0?>O!(z*g5AvL2!4z0{sq%vhG*Po}`a<6%kTK5TNhtC8}rXNu&h^QH4A&Sk~Autm*s~45(H7+0bi^MraaRVzr05hQ3iK?j` zR#U@^i0WhkIHTg29u~|ypU?sXCQEQgXfObPW;+0YAF;|5XyaMAEM0sQ@4-xCZe=0e z7r$ofiAxn@O5#RodD8rh5D@nKQ;?lcf@tg4o+Wp44aMl~c47azN_(im0N)7OqdPBC zGw;353_o$DqGRDhuhU$Eaj!@m000000NkvXXu0mjfjZ7Z_ diff --git a/docs/static/doctools.js b/docs/static/doctools.js index 0c15c00..e1bfd70 100644 --- a/docs/static/doctools.js +++ b/docs/static/doctools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for all documentation. * - * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -29,9 +29,14 @@ if (!window.console || !console.firebug) { /** * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL */ jQuery.urldecode = function(x) { - return decodeURIComponent(x).replace(/\+/g, ' '); + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); }; /** @@ -70,7 +75,9 @@ jQuery.fn.highlightText = function(text, className) { if (node.nodeType === 3) { var val = node.nodeValue; var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { var span; var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); if (isInSVG) { @@ -85,14 +92,13 @@ jQuery.fn.highlightText = function(text, className) { node.nextSibling)); node.nodeValue = val.substr(0, pos); if (isInSVG) { - var bbox = span.getBBox(); var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); - rect.x.baseVal.value = bbox.x; + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; rect.y.baseVal.value = bbox.y; rect.width.baseVal.value = bbox.width; rect.height.baseVal.value = bbox.height; rect.setAttribute('class', className); - var parentOfText = node.parentNode.parentNode; addItems.push({ "parent": node.parentNode, "target": rect}); @@ -148,7 +154,7 @@ var Documentation = { this.fixFirefoxAnchorBug(); this.highlightSearchWords(); this.initIndexTable(); - + this.initOnKeyListeners(); }, /** @@ -256,6 +262,16 @@ var Documentation = { hideSearchWords : function() { $('#searchbox .highlight-link').fadeOut(300); $('span.highlighted').removeClass('highlighted'); + var url = new URL(window.location); + url.searchParams.delete('highlight'); + window.history.replaceState({}, '', url); + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar : function() { + $('input[name=q]').first().focus(); }, /** @@ -280,23 +296,54 @@ var Documentation = { }, initOnKeyListeners: function() { - $(document).keyup(function(event) { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) + return; + + $(document).keydown(function(event) { var activeElementType = document.activeElement.tagName; - // don't navigate when in search box or textarea - if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { - switch (event.keyCode) { - case 37: // left - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; - } - case 39: // right - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; - } + // don't navigate when in search box, textarea, dropdown or button + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' + && activeElementType !== 'BUTTON') { + if (event.altKey || event.ctrlKey || event.metaKey) + return; + + if (!event.shiftKey) { + switch (event.key) { + case 'ArrowLeft': + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) + break; + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + break; + case 'ArrowRight': + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) + break; + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + break; + case 'Escape': + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) + break; + Documentation.hideSearchWords(); + return false; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case '/': + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) + break; + Documentation.focusSearchBar(); + return false; } } }); @@ -308,4 +355,4 @@ _ = Documentation.gettext; $(document).ready(function() { Documentation.init(); -}); \ No newline at end of file +}); diff --git a/docs/static/documentation_options.js b/docs/static/documentation_options.js new file mode 100644 index 0000000..97f08c2 --- /dev/null +++ b/docs/static/documentation_options.js @@ -0,0 +1,14 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '0.9', + LANGUAGE: 'None', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/docs/static/down-pressed.png b/docs/static/down-pressed.png deleted file mode 100644 index 5756c8cad8854722893dc70b9eb4bb0400343a39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln;`PZ^+1>KjR?B@S0W7 z%OS_REiHONoJ6{+Ks@6k3590|7k9F+ddB6!zw3#&!aw#S`x}3V3&=A(a#84O-&F7T z^k3tZB;&iR9siw0|F|E|DAL<8r-F4!1H-;1{e*~yAKZN5f0|Ei6yUmR#Is)EM(Po_ zi`qJR6|P<~+)N+kSDgL7AjdIC_!O7Q?eGb+L+qOjm{~LLinM4NHn7U%HcK%uoMYO5 VJ~8zD2B3o(JYD@<);T3K0RV0%P>BEl diff --git a/docs/static/down.png b/docs/static/down.png deleted file mode 100644 index 1b3bdad2ceffae91cee61b32f3295f9bbe646e48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6CVIL!hEy=F?b*7pIY7kW{q%Rg zx!yQ<9v8bmJwa`TQk7YSw}WVQ()mRdQ;TC;* diff --git a/docs/static/jquery-3.1.0.js b/docs/static/jquery-3.5.1.js similarity index 77% rename from docs/static/jquery-3.1.0.js rename to docs/static/jquery-3.5.1.js index f2fc274..5093733 100644 --- a/docs/static/jquery-3.1.0.js +++ b/docs/static/jquery-3.5.1.js @@ -1,16 +1,15 @@ -/*eslint-disable no-unused-vars*/ /*! - * jQuery JavaScript Library v3.1.0 + * jQuery JavaScript Library v3.5.1 * https://jquery.com/ * * Includes Sizzle.js * https://sizzlejs.com/ * - * Copyright jQuery Foundation and other contributors + * Copyright JS Foundation and other contributors * Released under the MIT license * https://jquery.org/license * - * Date: 2016-07-07T21:44Z + * Date: 2020-05-04T22:49Z */ ( function( global, factory ) { @@ -48,13 +47,16 @@ var arr = []; -var document = window.document; - var getProto = Object.getPrototypeOf; var slice = arr.slice; -var concat = arr.concat; +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + var push = arr.push; @@ -72,24 +74,80 @@ var ObjectFunctionString = fnToString.call( Object ); var support = {}; +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; - function DOMEval( code, doc ) { + function DOMEval( code, node, doc ) { doc = doc || document; - var script = doc.createElement( "script" ); + var i, val, + script = doc.createElement( "script" ); script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } doc.head.appendChild( script ).parentNode.removeChild( script ); } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} /* global Symbol */ -// Defining this global in .eslintrc would create a danger of using the global +// Defining this global in .eslintrc.json would create a danger of using the global // unguarded in another place, it seems safer to define global only for this module var - version = "3.1.0", + version = "3.5.1", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -97,19 +155,6 @@ var // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init( selector, context ); - }, - - // Support: Android <=4.0 only - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); }; jQuery.fn = jQuery.prototype = { @@ -129,13 +174,14 @@ jQuery.fn = jQuery.prototype = { // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { - return num != null ? - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } - // Return all the elements in a clean array - slice.call( this ); + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; }, // Take an array of elements and push it onto the stack @@ -175,6 +221,18 @@ jQuery.fn = jQuery.prototype = { return this.eq( -1 ); }, + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); @@ -209,7 +267,7 @@ jQuery.extend = jQuery.fn.extend = function() { } // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + if ( typeof target !== "object" && !isFunction( target ) ) { target = {}; } @@ -226,25 +284,28 @@ jQuery.extend = jQuery.fn.extend = function() { // Extend the base object for ( name in options ) { - src = target[ name ]; copy = options[ name ]; + // Prevent Object.prototype pollution // Prevent never-ending loop - if ( target === copy ) { + if ( name === "__proto__" || target === copy ) { continue; } // Recurse if we're merging plain objects or arrays if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = jQuery.isArray( copy ) ) ) ) { - - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray( src ) ? src : []; - + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; } else { - clone = src && jQuery.isPlainObject( src ) ? src : {}; + clone = src; } + copyIsArray = false; // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy ); @@ -275,30 +336,6 @@ jQuery.extend( { noop: function() {}, - isFunction: function( obj ) { - return jQuery.type( obj ) === "function"; - }, - - isArray: Array.isArray, - - isWindow: function( obj ) { - return obj != null && obj === obj.window; - }, - - isNumeric: function( obj ) { - - // As of jQuery 3.0, isNumeric is limited to - // strings and numbers (primitives or objects) - // that can be coerced to finite numbers (gh-2662) - var type = jQuery.type( obj ); - return ( type === "number" || type === "string" ) && - - // parseFloat NaNs numeric-cast false positives ("") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - !isNaN( obj - parseFloat( obj ) ); - }, - isPlainObject: function( obj ) { var proto, Ctor; @@ -321,9 +358,6 @@ jQuery.extend( { }, isEmptyObject: function( obj ) { - - /* eslint-disable no-unused-vars */ - // See https://github.com/eslint/eslint/issues/6125 var name; for ( name in obj ) { @@ -332,31 +366,10 @@ jQuery.extend( { return true; }, - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - globalEval: function( code ) { - DOMEval( code ); - }, - - // Convert dashed to camelCase; used by the css and data modules - // Support: IE <=9 - 11, Edge 12 - 13 - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); }, each: function( obj, callback ) { @@ -380,13 +393,6 @@ jQuery.extend( { return obj; }, - // Support: Android <=4.0 only - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - // results is for internal usage only makeArray: function( arr, results ) { var ret = results || []; @@ -473,43 +479,12 @@ jQuery.extend( { } // Flatten any nested arrays - return concat.apply( [], ret ); + return flat( ret ); }, // A global GUID counter for objects guid: 1, - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var tmp, args, proxy; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: Date.now, - // jQuery.support is not used in Core but other projects attach their // properties to it so it needs to exist. support: support @@ -521,7 +496,7 @@ if ( typeof Symbol === "function" ) { // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( i, name ) { +function( _i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } ); @@ -532,9 +507,9 @@ function isArrayLike( obj ) { // hasOwn isn't used here due to false negatives // regarding Nodelist length in IE var length = !!obj && "length" in obj && obj.length, - type = jQuery.type( obj ); + type = toType( obj ); - if ( type === "function" || jQuery.isWindow( obj ) ) { + if ( isFunction( obj ) || isWindow( obj ) ) { return false; } @@ -543,17 +518,16 @@ function isArrayLike( obj ) { } var Sizzle = /*! - * Sizzle CSS Selector Engine v2.3.0 + * Sizzle CSS Selector Engine v2.3.5 * https://sizzlejs.com/ * - * Copyright jQuery Foundation and other contributors + * Copyright JS Foundation and other contributors * Released under the MIT license - * http://jquery.org/license + * https://js.foundation/ * - * Date: 2016-01-04 + * Date: 2020-03-14 */ -(function( window ) { - +( function( window ) { var i, support, Expr, @@ -584,6 +558,7 @@ var i, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), + nonnativeSelectorCache = createCache(), sortOrder = function( a, b ) { if ( a === b ) { hasDuplicate = true; @@ -592,61 +567,71 @@ var i, }, // Instance methods - hasOwn = ({}).hasOwnProperty, + hasOwn = ( {} ).hasOwnProperty, arr = [], pop = arr.pop, - push_native = arr.push, + pushNative = arr.push, push = arr.push, slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native // https://jsperf.com/thor-indexof-vs-for/5 indexOf = function( list, elem ) { var i = 0, len = list.length; for ( ; i < len; i++ ) { - if ( list[i] === elem ) { + if ( list[ i ] === elem ) { return i; } } return -1; }, - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", // Regular expressions // http://www.w3.org/TR/css3-selectors/#whitespace whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) ".*" + ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), rpseudo = new RegExp( pseudos ), ridentifier = new RegExp( "^" + identifier + "$" ), @@ -657,16 +642,19 @@ var i, "TAG": new RegExp( "^(" + identifier + "|[*])" ), "ATTR": new RegExp( "^" + attributes ), "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) }, + rhtml = /HTML$/i, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, @@ -679,24 +667,27 @@ var i, // CSS escapes // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair high < 0 ? - // BMP codepoint String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }, // CSS string/identifier serialization // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, fcssescape = function( ch, asCodePoint ) { if ( asCodePoint ) { @@ -706,7 +697,8 @@ var i, } // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; } // Other potentially-special ASCII characters get backslash-escaped @@ -721,9 +713,9 @@ var i, setDocument(); }, - disabledAncestor = addCombinator( + inDisabledFieldset = addCombinator( function( elem ) { - return elem.disabled === true; + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; }, { dir: "parentNode", next: "legend" } ); @@ -731,18 +723,20 @@ var i, // Optimize for push.apply( _, NodeList ) try { push.apply( - (arr = slice.call( preferredDoc.childNodes )), + ( arr = slice.call( preferredDoc.childNodes ) ), preferredDoc.childNodes ); + // Support: Android<4.0 // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { push = { apply: arr.length ? // Leverage slice if possible function( target, els ) { - push_native.apply( target, slice.call(els) ); + pushNative.apply( target, slice.call( els ) ); } : // Support: IE<9 @@ -750,8 +744,9 @@ try { function( target, els ) { var j = target.length, i = 0; + // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} + while ( ( target[ j++ ] = els[ i++ ] ) ) {} target.length = j - 1; } }; @@ -775,24 +770,21 @@ function Sizzle( selector, context, results, seed ) { // Try to shortcut find operations (as opposed to filters) in HTML documents if ( !seed ) { - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } + setDocument( context ); context = context || document; if ( documentIsHTML ) { // If the selector is sufficiently simple, try using a "get*By*" DOM method // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { // ID selector - if ( (m = match[1]) ) { + if ( ( m = match[ 1 ] ) ) { // Document context if ( nodeType === 9 ) { - if ( (elem = context.getElementById( m )) ) { + if ( ( elem = context.getElementById( m ) ) ) { // Support: IE, Opera, Webkit // TODO: identify versions @@ -811,7 +803,7 @@ function Sizzle( selector, context, results, seed ) { // Support: IE, Opera, Webkit // TODO: identify versions // getElementById can match elements by name instead of ID - if ( newContext && (elem = newContext.getElementById( m )) && + if ( newContext && ( elem = newContext.getElementById( m ) ) && contains( context, elem ) && elem.id === m ) { @@ -821,12 +813,12 @@ function Sizzle( selector, context, results, seed ) { } // Type selector - } else if ( match[2] ) { + } else if ( match[ 2 ] ) { push.apply( results, context.getElementsByTagName( selector ) ); return results; // Class selector - } else if ( (m = match[3]) && support.getElementsByClassName && + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && context.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); @@ -836,50 +828,62 @@ function Sizzle( selector, context, results, seed ) { // Take advantage of querySelectorAll if ( support.qsa && - !compilerCache[ selector + " " ] && - (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - - if ( nodeType !== 1 ) { - newContext = context; - newSelector = selector; + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && - // qSA looks outside Element context, which is not what we want - // Thanks to Andrew Dupont for this workaround technique - // Support: IE <=8 + // Support: IE 8 only // Exclude object elements - } else if ( context.nodeName.toLowerCase() !== "object" ) { + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { - // Capture the context ID, setting it first if necessary - if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", (nid = expando) ); + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } } // Prefix every selector in the list groups = tokenize( selector ); i = groups.length; while ( i-- ) { - groups[i] = "#" + nid + " " + toSelector( groups[i] ); + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); } newSelector = groups.join( "," ); - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; } - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); } } } @@ -900,12 +904,14 @@ function createCache() { var keys = []; function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries delete cache[ keys.shift() ]; } - return (cache[ key + " " ] = value); + return ( cache[ key + " " ] = value ); } return cache; } @@ -924,17 +930,19 @@ function markFunction( fn ) { * @param {Function} fn Passed the created element and returns a boolean result */ function assert( fn ) { - var el = document.createElement("fieldset"); + var el = document.createElement( "fieldset" ); try { return !!fn( el ); - } catch (e) { + } catch ( e ) { return false; } finally { + // Remove from its parent by default if ( el.parentNode ) { el.parentNode.removeChild( el ); } + // release memory in IE el = null; } @@ -946,11 +954,11 @@ function assert( fn ) { * @param {Function} handler The method that will be applied */ function addHandle( attrs, handler ) { - var arr = attrs.split("|"), + var arr = attrs.split( "|" ), i = arr.length; while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; + Expr.attrHandle[ arr[ i ] ] = handler; } } @@ -972,7 +980,7 @@ function siblingCheck( a, b ) { // Check if b follows a if ( cur ) { - while ( (cur = cur.nextSibling) ) { + while ( ( cur = cur.nextSibling ) ) { if ( cur === b ) { return -1; } @@ -1000,7 +1008,7 @@ function createInputPseudo( type ) { function createButtonPseudo( type ) { return function( elem ) { var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; + return ( name === "input" || name === "button" ) && elem.type === type; }; } @@ -1009,26 +1017,54 @@ function createButtonPseudo( type ) { * @param {Boolean} disabled true for :disabled; false for :enabled */ function createDisabledPseudo( disabled ) { - // Known :disabled false positives: - // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset) - // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable return function( elem ) { - // Check form elements and option elements for explicit disabling - return "label" in elem && elem.disabled === disabled || - "form" in elem && elem.disabled === disabled || + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } - // Check non-disabled form elements for fieldset[disabled] ancestors - "form" in elem && elem.disabled === false && ( - // Support: IE6-11+ - // Ancestry is covered for us - elem.isDisabled === disabled || + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || - // Otherwise, assume any non-