MyPlex plexapi.myplex¶
classplexapi.myplex.
MyPlexAccount
(username=None,password=None,token=None,session=None,timeout=None)Bases
Bases:plexapi.base.PlexObject
MyPlexアカウントとプロファイル情報。 このオブジェクトは、アカウント上で見つかったデータを表します。myplex.tv urlhttps://plex.tv/users/account&myPlexAccount()
で提供されるconveniencemethodもあります。
パラメータ
-
username(str)–あなたのMyPlexユーザー名。
-
パスワード(str)–MyPlexのパスワード。
-
セッション(リクエスト。Session,optional)–PMSからのhttp応答をキャッシュする場合は、独自のsessionオブジェクトを使用します
-
timeout(int)-myplexへの初期接続時の秒単位のタイムアウト(デフォルタイムアウト)。変数
-
SIGNIN(str)–’https://plex.tv/users/sign_in.xml’
-
キー(str)–’https://plex.tv/users/account’
-
authenticationToken(str)–不明です。p>
-
certificateVersion(str)–不明です。
-
cloudSyncDevice(str)–不明です。
-
email(str)–現在のPlexのメールアドレス。
-
エンタイトルメント(List<str>)–このアカウントで使用できるデバイスのリスト。
-
ゲスト(bool)–不明です。
-
ホーム(bool)–不明です。
-
homeSize(int)–不明です。
-
id(int)–あなたのPlexアカウントID。
-
locale(str)–Plexロケール
-
mailing_list_status(str)–現在のメーリングリストのステータス。
-
-
queueUid(str)–不明です。
-
制限された(bool)–不明です。
-
ロール–(リスト<str>)アカウントのロールの点灯。 Plexpass会員はここに記載されています。
-
scrobbletypes(str)–Description
-
secure(bool)–Description
-
subscriptionActive(bool)–subscriptionactive(bool)-subscriptionactive(bool)-subscriptionactive(bool)-subscriptionactive(bool)-subscriptionactive(Bool)-subscriptionactive(Bool)-subscriptionactiveがアクティブな場合はTrue。
-
subscriptionFeatures–(List<str>)サブスクリプションで許可されている機能のリスト。
-
subscriptionPlan(str)–サブスクリプションプランの名前。
-
subscriptionStatus(str)—subscriptionActiveの文字列表現。
-
thumb(str)—アカウントのサムネイルのURL。
-
タイトル(str)–不明です。 -ユーザー名のエイリアスのように見えます。
-
ユーザー名(str)–アカウントのユーザー名。
-
uuid(str)–不明です。
-
_token(str)–このクライアントにアクセスするために使用されるトークン。
-
_session(obj)–このクライアントにアクセスするために使用されるセッションオブジェクトを要求します。p>
queueEmail(str)–Watch Laterキューにアイテムを追加するためのメールアドレス。
device
(name=None,clientId=None)¶
指定された名前に一致するMyPlexDevice
を返します。
パラメータ
-
name(str)–照合する名前。
-
clientId(str)–照合するclientIdentifierです。
devices
()(
サーバーに接続されているすべてのMyPlexDevice
オブジェクトのリストを返します。
resource
(name)¶
は、指定された名前に一致するMyPlexResource
を返します。
パラメータ
name(str)–照合する名前。p>resources
()(
サーバーに接続されているすべてのMyPlexResource
オブジェクトのリストを返します。
inviteFriend
(user,server,sections=None,allowSync=False,allowCameraUpload=False,allowChannels=False,filterMovies=None,filterTelevision=None,filterMusic=None)¶
指定されたユーザーとライブラリコンテンツを共有します。パラメータ
-
user(
MyPlexUser
)–追加するユーザーのMyPlexUserオブジェクト、ユーザー名、またはemailof。server(PlexServer
)–PlexServerオブジェクト、または共有するライブラリセクションを含むmachineIdentifiercontaining。 -
sections(List<
LibrarySection
>)–LibrarySectionオブジェクトのリスト、または共有される名前(デフォルトNone)。 共有ライブラリを更新するには、セクションを定義する必要があります。 -
allowSync(Bool)–ユーザーがコンテンツを同期できるようにするにはTrueを設定します。
-
allowCameraUpload(Bool)–ユーザーが写真をアップロードできるようにするにはTrueを設定します。
-
allowChannels(Bool)–ユーザーがインストールされているチャネルを利用できるようにするにはTrueを設定します。filterMovies(Dict)-キー’contentRating’および/または’label’を含むDictそれぞれがフィルタリングされる値のリストに設定されます。 ex:{‘contentRating’:,’label’:}
-
filterTelevision(Dict)–キー’contentRating’および/または’label’を含むDictそれぞれがフィルタリングされる値のリストに設定されます。 ex:{‘contentRating’:,’label’:}
-
filterMusic(Dict)–フィルタする値のリストに設定されたキー’label’を含む辞書。例:{‘ラベル’:}
createHomeUser
(user,server,sections=None,allowSync=False,allowCameraUpload=False,allowChannels=False,filterMovies=None,filterTelevision=None,filterMusic=None)¶
指定されたユーザーとライブラリコンテンツを共有します。パラメータ
-
user(
MyPlexUser
)–追加するユーザーのMyPlexUserオブジェクト、ユーザー名、またはemailof。server(PlexServer
)–PlexServerオブジェクト、または共有するライブラリセクションを含むmachineIdentifiercontaining。 -
sections(List<
LibrarySection
>)–LibrarySectionオブジェクトのリスト、または共有される名前(デフォルトNone)。 共有ライブラリを更新するには、セクションを定義する必要があります。 -
allowSync(Bool)–ユーザーがコンテンツを同期できるようにするにはTrueを設定します。
-
allowCameraUpload(Bool)–ユーザーが写真をアップロードできるようにするにはTrueを設定します。
-
allowChannels(Bool)–ユーザーがインストールされているチャネルを利用できるようにするにはTrueを設定します。filterMovies(Dict)-キー’contentRating’および/または’label’を含むDictそれぞれがフィルタリングされる値のリストに設定されます。 ex:{‘contentRating’:,’label’:}
-
filterTelevision(Dict)–キー’contentRating’および/または’label’を含むDictそれぞれがフィルタリングされる値のリストに設定されます。 ex:{‘contentRating’:,’label’:}
-
filterMusic(Dict)–フィルタする値のリストに設定されたキー’label’を含む辞書。例:{‘ラベル’:}
createExistingUser
(user,server,sections=None,allowSync=False,allowCameraUpload=False,allowChannels=False,filterMovies=None,filterTelevision=None,filterMusic=None)¶
指定されたユーザーとライブラリコンテンツを共有します。パラメータ
-
user(
MyPlexUser
)–追加するユーザーのMyPlexUserオブジェクト、ユーザー名、またはemailof。server(PlexServer
)–PlexServerオブジェクト、または共有するライブラリセクションを含むmachineIdentifiercontaining。 -
sections(List<
LibrarySection
>)–LibrarySectionオブジェクトのリスト、または共有される名前(デフォルトNone)。 共有ライブラリを更新するには、セクションを定義する必要があります。 -
allowSync(Bool)–ユーザーがコンテンツを同期できるようにするにはTrueを設定します。
-
allowCameraUpload(Bool)–ユーザーが写真をアップロードできるようにするにはTrueを設定します。
-
allowChannels(Bool)–ユーザーがインストールされているチャネルを利用できるようにするにはTrueを設定します。filterMovies(Dict)-キー’contentRating’および/または’label’を含むDictそれぞれがフィルタリングされる値のリストに設定されます。 ex:{‘contentRating’:,’label’:}
-
filterTelevision(Dict)–キー’contentRating’および/または’label’を含むDictそれぞれがフィルタリングされる値のリストに設定されます。 ex:{‘contentRating’:,’label’:}
-
filterMusic(Dict)–フィルタする値のリストに設定されたキー’label’を含む辞書。例:{‘label’:}
removeFriend
(user)user
指定されたユーザーをすべての共有から削除します。
パラメータ
user(str)–MyPlexUser,username,追加するユーザーの電子メール。
removeHomeUser
(user)user
指定された管理ユーザーをホームから削除します。
パラメータ
ユーザー(str)–MyPlexUser、ユーザー名、ホームから削除するユーザーの電子メール。
updateFriend
(user,server,sections=None,removeSections=False,allowSync=None,allowCameraUpload=None,allowChannels=None,filterMovies=None,filterTelevision=None,filterMusic=None)¶
指定されたユーザーの共有設定を更新します。パラメータ
-
user(
MyPlexUser
)–更新するユーザーのMyPlexUserオブジェクト、ユーザー名、またはemailof。server(PlexServer
)–PlexServerオブジェクト、または共有するライブラリセクションを含むmachineIdentifiercontaining。 -
sections(List<
LibrarySection
>)–LibrarySectionオブジェクトのリスト、または共有される名前(デフォルトNone)。 共有ライブラリを更新するには、セクションを定義する必要があります。 -
removeSections(Bool)–すべての共有を削除するにはTrueを設定します。 セクションに取って代わります。
-
allowSync(Bool)–ユーザーがコンテンツを同期できるようにするにはTrueを設定します。
-
allowCameraUpload(Bool)–ユーザーが写真をアップロードできるようにするにはTrueを設定します。
-
allowChannels(Bool)–ユーザーがインストールされているチャネルを利用できるようにするにはTrueを設定します。filterMovies(Dict)-キー’contentRating’および/または’label’を含むDictそれぞれがフィルタリングされる値のリストに設定されます。 例:{‘contentRating’:,’label’:}
-
filterTelevision(Dict)–キー’contentRating’および/または’label’を含むDictそれぞれがフィルタリングされる値のリストに設定されます。 ex:{‘contentRating’:,’label’:}
-
filterMusic(Dict)–フィルタする値のリストに設定されたキー’label’を含む辞書。例:{‘label’:}
user
(username)(
指定された電子メールまたはユーザー名に一致するMyPlexUser
を返します。
パラメータ
username(str)–返すユーザーのユーザー名、電子メールまたはid。
users
()(
アカウントに接続されているすべてのMyPlexUser
オブジェクトのリストを返します。これには、友人と保留中の招待の両方が含まれます。 ユーザーを参照できます。友人は二人の間で区別する。p>optOut
(playback=None,library=None)¶
plexとの共有をオプトインまたはオプトアウトします。参照:https://www.plex.tv/about/privacy-legal/
syncItems
(client=None,clientId=None)¶
指定されたクライアントのSyncList
のインスタンスを返します。パラメータ
-
client(
MyPlexDevice
)–SyncItemsを照会するクライアント。 -
clientId(str)–SyncItemsを照会するクライアントの識別子。
クライアントとclientIdの両方が提供されている場合は、クライアントが優先されます。ClientもclientIdも提供されていない場合、clientIdは現在のクライアントの識別子に設定されます。
sync
(sync_item,client=None,clientId=None)client
クライアントに指定された同期項目を追加します。 Mediaobjectsで直接定義されたメソッドを使用する方が、常に簡単です。 sync()
sync()
.パラメータ
-
client(
MyPlexDevice
)–SyncItemを追加する必要があるクライアント。 -
clientId(str)–SyncItemを追加する必要があるクライアントの識別子。
-
sync_item(
SyncItem
)–すべてのフィールドが設定されたSyncItemオブジェクトを準備しました。
クライアントとclientIdの両方が提供されている場合は、クライアントが優先されます。ClientもclientIdも提供されていない場合、clientIdは現在のクライアントの識別子に設定されます。
作成されたsyncItemのインスタンス
を返します。P>戻り値の型
SyncItem
発生させます
-
BadRequest–提供されたclientIdを持つクライアントが見つからなかったとき。
-
BadRequestが提供するクライアントはsync–targetを提供しません。新しいPlexサーバーインスタンスをyouraccountに登録するために使用できる新しい「claim-token」であるstrを返します。参照: https://hub.docker.com/r/plexinc/pms-docker/https://www.plex.tv/claim/
history
(maxresults=9999999,mindate=None)¶所有者のすべてのサーバー上のすべてのライブラリセクションの再生履歴を取得します。:param maxresults:指定された数の結果のみを返します(オプション)。:結果を返すには、maxresults:int:param mindate:Min datetimeと入力します。:タイプmindate: datetime
videoOnDemand
()¶Returns a list of VOD Hub items
Hub
webShows
()¶Returns a list of Webshow Hub items
Hub
news
()¶Returns a list of News Hub items
Hub
podcasts
()¶Returns a list of Podcasts Hub items
Hub
tidal
()¶Returns a list of tidal Hub items
Hub
link
(pin)¶Link a device to the account using a pin コード
パラメータ
pin(str)–4桁のリンクピンコード。
class
plexapi.myplex.
MyPlexUser
(server,data,initpath=None,parent=None)BasesBases:
plexapi.base.PlexObject
このオブジェクトは、友人やlinkedaccountsなどの署名されていないユーザーを表します。 注:これは、あなたの特定のアカウントである
MyPlexAccount
と混同してはいけません。 ここで提示されたデータの生のxmlは、次の場所で見つけることができます: https://plex.tv/api/users/ -
変数
-
タグ(str)–’ユーザー’
-
キー(str)–’https://plex.tv/api/users/’
-
allowCameraUpload(bool)–このユーザーが画像をアップロードできる場合はTrue。
-
allowChannels(bool)–このユーザーがチャネルにアクセスできる場合はTrue。
-
allowSync(bool)–このユーザーが同期できる場合はTrue。
-
email(str)–ユーザーのメールアドレス([email protected]
-
filterAll(str)–不明です。
-
-
フィルター写真(str)–不明です。
-
フィルターの削除(str)–不明です。
-
ホーム(bool)–不明です。
-
id(int)–ユーザーのPlexアカウントID。
-
保護されている(False)–不明(SSLが有効になっている可能性がありますか?).
-
推奨PlayListId(str)–不明です。
-
制限された(str)–不明です。
-
thumb(str)–ユーザーのアバターへのリンク。
-
title(str)–ユーザー名のエイリアスのようです。
-
ユーザー名(str)–ユーザーのユーザー名。
-
servers–ユーザーと友人の間で共有されるサーバー
server
(name)(
指定された名前に一致するMyPlexServerShare
を返します。
パラメータ
name(str)–返すサーバーの名前。
history
(maxresults=9999999,mindate=None)¶
すべての共有サーバー内のユーザーのすべての再生履歴を取得します。:param maxresults:指定された数の結果のみを返します(オプション)。:結果を返すには、maxresults:int:param mindate:Min datetimeと入力します。:タイプmindate: datetime
classplexapi.myplex.
Section
(server,data,initpath=None,parent=None)Bases
Bases:plexapi.base.PlexObject
これは共有セクションを指します。 ここで提示されたデータの生のxmlは、次の場所で見つけることができます: https://plex.tv/api/servers/{machineId}/shared_servers/{serverId}
変数
-
TAG(str)–セクション
-
id(int)–共有セクションid
-
sectionKey(str)–このセクションに使用するキー
-
title(str)–セクションのタイトル
-
sectionid(str)–共有セクションid
-
type(str)–movie,tvshow,artist
-
shared(bool)–このセクションがユーザーと共有されている場合
history
(maxresults=9999999,mindate=none)user
ユーザーのすべての再生履歴を取得この共有サーバーのこのセクションのため。:param maxresults: 指定された数の結果のみを返します(オプション)。:結果を返すには、maxresults:int:param mindate:Min datetimeと入力します。:type mindate:datetime
classplexapi.myplex.
MyPlexServerShare
(server,data,initpath=None,parent=None)Bases
Bases:plexapi.base.PlexObject
単一のユーザーのサーバー参照を表します。 ライブラリの共有に使用されます。
変数
-
id(int)–この共有のid
-
serverId(str)–plexがこれに使用するid。p>
-
machineIdentifier(str)–サーバー machineIdentifier
-
name(str)–サーバー名
-
lastSeenAt(datetime)–サーバーに最後に接続されましたか?numLibraries(int)–ライブラリの合計数
-
allLibraries(bool)–すべてのライブラリがこのユーザーと共有されている場合はTrue。
-
owned(bool)–サーバーがユーザーによって所有されている場合は1
-
pending(bool)–招待が保留中の場合はTrue。p>
section
(name)(
指定された名前に一致するSection
を返します。
パラメータ
name(str)–返すセクションの名前。
sections
()(
このユーザーと共有されているすべてのSection
オブジェクトのリストを返します。
history
(maxresults=9999999,mindate=None)¶
この共有サーバー内のユーザーのすべての再生履歴を取得します。:param maxresults:指定された数の結果のみを返します(オプション)。:結果を返すには、maxresults:int:param mindate:Min datetimeと入力します。:タイプmindate: datetime
classplexapi.myplex.
MyPlexResource
(server,data,initpath=None,parent=None)Bases
Bases:plexapi.base.PlexObject
このオブジェクトは、Plexメディアサーバー、iPhone、Androidクライアントなどのコンテンツを提供できるPlexサーバーに接続されたリソースを表します。 ここで提示されたデータの生のxmlは、次の場所にあります。https://plex.tv/api/resources?includeHttps=1&includeRelay=1
Variables
-
TAG(str)–’Device’
-
key(str)–’https://plex.tv/api/resources?includeHttps=1&includeRelay=1′
-
accessToken(str)–このリソースaccesstoken…..clientIdentifier(str)-このリソースの一意のID。
-
connections(list)–このリソースの
ResourceConnection
オブジェクトのリスト。 -
createdAt(datetime)–Timestampこのリソースが最初にサーバーに接続されました。デバイス(str)-これはデバイスの種類(PS、iPhone、Linuxなど)を推測するのに最適です。
-
ホーム(bool)–不明
-
lastSeenAt(datetime)–このリソースが最後に接続されたタイムスタンプ。
-
name(str)—このリソースの説明的な名前。
-
owned(bool)–このリソースが自分のリソースのいずれかである場合はTrue(ログインしています)。プラットフォーム(str)–リソースが実行されているOS(Linux、Windows、Chromeなど)
-
プラットフォーム(str)-リソースが実行されているOS(Linux、Windows、Chromeなど)
- )
-
platformVersion(str)–プラットフォームのバージョン。
-
プレゼンス(bool)–リソースがオンラインの場合はTrue
-
製品(str)–Plex製品(Plex Media Server、Plex for iOS、Plex Webなど))
-
productVersion(str)–製品のバージョン。
-
provides(str)–このリソースが提供するサービスのリスト(クライアント、サーバー、プレーヤー、pubsub-playerなど)。
-
synced(bool)–不明(リソースにコンテンツが同期されている場合はTrueの可能性がありますか?)
-
synced(bool)-不明(リソースにコンテンツが同期さ(ssl=None,timeout=None)a
新しい
PlexServer
PlexClient
オブジェクトを返します。多くの場合、サーバーまたはクライアントに複数のアドレスが指定されています。この関数は、リモートまたはリレーの前にローカル接続を優先し、HTTPの前にHTTPSを優先します。このリソースで使用可能なすべてのアドレスに接続しようとした後、少なくとも1つの接続が成功したため、PlexServerオブジェクトが構築されて返されます。ssl(bool,optional)-HTTPS接続にのみ接続する場合はTrueに設定します。 HTTP接続にのみ接続するにはFalseを設定します。 AnyHTTPまたはHTTPS接続に接続するには、None(デフォルト)を設定します。 -
timeout(int,optional)–各接続を試行するタイムアウト秒数。
NotFoundを発生させます–このリソースのアドレスに接続できない場合。plexapi.myplex.
ResourceConnection
(server,data,initpath=None,parent=None)Bases
Bases:plexapi.base.PlexObject
MyPlexResource
オブジェクト内にあるリソース接続オブジェクトを表します。/p>
アドレス(str)–ローカルIPアドレス
httpuri(str)–完全なローカルアドレス
local(bool)–ローカルの場合はTrue
port(int)–32400
プロトコル(str)–httpまたはhttps
uri(str)–外部アドレス
クラスplexapi.myplex.
MyPlexDevice
(server,data,initpath=none,parent=none)bases
ベース: plexapi.base.PlexObject
このオブジェクトは、Plexサーバー、iPhoneまたはAndroidクライアント、Plex Web、このAPIなどからplayback機能を提供するplexサーバーに接続されているリソー ここで提示されたデータの生のxmlは、次の場所にあります。https://plex.tv/devices.xml
Variables
-
TAG(str)–’Device’
-
key(str)–’https://plex.tv/devices.xml’
-
clientIdentifier(str)–このリソースの一意のID。connections(list)–デバイスの接続Uriのリスト。デバイス(str)-これはデバイスの種類(Linux、iPad、AFTBなど)を推測するのが最善です。id(str)-デバイスのMyPlex ID。model(str)-デバイスのモデル(bueller、Linux、x86_64など))
-
名前(str)–デバイスのホスト名。プラットフォーム(str)–リソースが実行されているOS(Linux、Windows、Chromeなど)
-
プラットフォーム(str)-リソースが実行されているOS(Linux、Windows、Chromeなど)
- )
-
platformVersion(str)–プラットフォームのバージョン。製品(str)-プレックス製品(プレックスメディアサーバー、iOS用プレックス、プレックスウェブなど)
-
productVersion(string)–製品のバージョン。
-
provides(str)–このリソースが提供するサービスのリスト(client,controller,sync-target,player,pubsub-player)。publicAddress(str)-パブリックIPアドレス。
-
画面密度(str)–不明
-
画面解像度(str)–画面解像度(750×1334、1242×2208など))
-
token(str)–デバイスのプレックス認証トークン。
-
vendor(str)–デバイスベンダー(ubuntuなど)。バージョン(str)–不明(1、2、1.3.3。3148-b38628e、1.3.15、等。(timeout=None)a
新しい
PlexClient
PlexServer
サーバーまたはクライアントに複数のアドレスが指定されている場合があります。このクライアントで使用可能なすべてのアドレスに接続しようとし、少なくとも1つの接続が成功したと仮定した後、PlexClientオブジェクトが構築され、返されます。Raises
NotFound–このデバイスのアドレスに接続できない場合。
delete
()(アカウントからこのデバイスを削除します。
syncItems
()(現在のデバイスの
SyncList
のインスタンスを返します。デバイスがsync–targetを提供していない場合、Badrequestを発生させます。クラス
plexapi.myplex.
MyPlexPinLogin
(session=None,requestTimeout=None,headers=None)¶Bases:
object
ユーザーが入力しなければならない四文字のPINを取得することをサポートするMyPlex PINログインクラスhttps://plex.tv/link
MyPlexAccount
インスタンスを作成します。このヘルパークラスは、ポーリング、スレッド、コールバックのアプローチをサポートしています。-
ポーリングアプローチは、開発者が
checkLogin()
を使用してPINログインが成功したかどうかを定期的に確認することを期待しています。 -
スレッドアプローチは、開発者が
run()
waitForLogin()
を呼び出して結果を待って確認することを期待しています。 -
コールバックアプローチはスレッドアプローチの拡張であり、開発者がコールバックパラメータを
run()
の呼び出しに渡すことを期待しています。コールバックは、PINログインが成功するのを待っているスレッドがfinishedまたはexpiresのいずれかになったときに呼び出されます。 コールバックに渡されるパラメータは、受信したauthenticationtoken、またはログインの有効期限が切れた場合はNoneです。
パラメータ
-
セッション(要求。Session,optional)–PMSからのhttp応答をキャッシュする場合は、独自のsessionオブジェクトを使用します
-
requestTimeout(int)-最初の接続時のタイムアウト秒単位plex.tv (デフォルトの設定。タイムアウト)。
変数
-
ピン(str)–’https://plex.tv/api/v2/pins’
-
チェックピン(str)–’https://plex.tv/api/v2/pins
-
リンク(str)–’https://plex.tv/api/v2/pins
-
リンク(str)–’https://plex.tv/api/v2/pins
-
リンク(str)–’https://plex.tv/api/v2/pins
-
リンク(str)-‘https://plex.tv/api/v2/pins
-
p>
-
pollinterval(int)-1
-
finished(bool)-pinログインが完了したかどうか。
-
expired(bool)–pinログインの有効期限が切れているかどうか。
-
token(str)–pinログインによって取得されたトークン。
-
pin(str)–https://plex.tv/linkのログインに使用するPin。
run
(callback=None,timeout=None)¶PINログイン状態を監視するスレッドを開始します。:param callback:受信した認証トークンで呼び出されるコールバック(オプション)。:type callback:Callable:param timeout:PINログインが成功するのを待つ秒単位のタイムアウト(オプション)。:type timeout:int
Raises
-
runtimeerror–スレッドがすでに実行されている場合。
-
RuntimeError–現在のPINのPINログインの有効期限が切れている場合。
waitForLogin
()(PINログインが成功するか期限切れになるのを待ちます。:param callback:受信した認証トークンで呼び出されるコールバック(オプション)。:type callback:Callable:param timeout:PINログインが成功するのを待つ秒単位のタイムアウト(オプション)。:type timeout:int
PINログインが成功した場合は
Trueを返し、それ以外の場合はFalseを返します。p>
stop
-