mirror of
https://github.com/sparkle-project/sparkle-project.github.io.git
synced 2025-11-01 15:35:08 +00:00
467 lines
25 KiB
HTML
467 lines
25 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>SPUUpdaterSettings Class Reference</title>
|
|
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
|
|
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
|
|
<meta charset='utf-8'>
|
|
<meta name="viewport" content="width=device-width, viewport-fit=cover, initial-scale=1.0" />
|
|
<script src="../js/jquery.min.js" defer></script>
|
|
<script src="../js/jazzy.js" defer></script>
|
|
|
|
</head>
|
|
<body>
|
|
<a name="//apple_ref/objc/Class/SPUUpdaterSettings" class="dashAnchor"></a>
|
|
<a title="SPUUpdaterSettings Class Reference"></a>
|
|
<header>
|
|
<div class="content-wrapper">
|
|
<p>
|
|
<a href="../index.html">Sparkle 2.7.0 Docs</a>
|
|
<span class="no-mobile"> (59% documented)</span>
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</header>
|
|
<div id="breadcrumbs-container">
|
|
<div class="content-wrapper">
|
|
<p id="breadcrumbs">
|
|
<span class="no-mobile">
|
|
<a href="../index.html">Sparkle</a>
|
|
<img id="carat" src="../img/carat.png" alt=""/>
|
|
<a href="../Classes.html">Classes</a>
|
|
<img id="carat" src="../img/carat.png" alt=""/>
|
|
SPUUpdaterSettings Class Reference
|
|
</span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="wrapper">
|
|
<div class="article-wrapper">
|
|
<article class="main-content">
|
|
<section>
|
|
<section class="section">
|
|
<h1>SPUUpdaterSettings</h1>
|
|
<div class="declaration">
|
|
<div class="language">
|
|
<p class="aside-title">Objective-C</p>
|
|
<pre class="highlight objective_c"><code><span class="k">@interface</span> <span class="nc">SPUUpdaterSettings</span> <span class="p">:</span> <span class="nc">NSObject</span></code></pre>
|
|
|
|
</div>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SPUUpdaterSettings</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<p>This class can be used for reading certain updater settings.</p>
|
|
|
|
<p>It retrieves the settings by first looking into the host’s user defaults.
|
|
If the setting is not found in there, then the host’s Info.plist file is looked at.</p>
|
|
|
|
</section>
|
|
<section class="section task-group-section">
|
|
<div class="task-group">
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/c:objc(cs)SPUUpdaterSettings(im)initWithHostBundle:"></a>
|
|
<a name="//apple_ref/objc/Method/-initWithHostBundle:" class="dashAnchor"></a>
|
|
<a class="token" href="#/c:objc(cs)SPUUpdaterSettings(im)initWithHostBundle:">-initWithHostBundle:<wbr></a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Undocumented</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Objective-C</p>
|
|
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="n">instancetype</span><span class="p">)</span><span class="nf">initWithHostBundle</span><span class="p">:(</span><span class="n">NSBundle</span> <span class="o">*</span><span class="p">)</span><span class="nv">hostBundle</span><span class="p">;</span></code></pre>
|
|
|
|
</div>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="nf">init</span><span class="p">(</span><span class="nv">hostBundle</span><span class="p">:</span> <span class="kt">Bundle</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/c:objc(cs)SPUUpdaterSettings(py)automaticallyChecksForUpdates"></a>
|
|
<a name="//apple_ref/objc/Property/automaticallyChecksForUpdates" class="dashAnchor"></a>
|
|
<a class="token" href="#/c:objc(cs)SPUUpdaterSettings(py)automaticallyChecksForUpdates">automaticallyChecksForUpdates</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Indicates whether or not automatic update checks are enabled.</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Objective-C</p>
|
|
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyChecksForUpdates</span><span class="p">;</span></code></pre>
|
|
|
|
</div>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyChecksForUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/c:objc(cs)SPUUpdaterSettings(py)updateCheckInterval"></a>
|
|
<a name="//apple_ref/objc/Property/updateCheckInterval" class="dashAnchor"></a>
|
|
<a class="token" href="#/c:objc(cs)SPUUpdaterSettings(py)updateCheckInterval">updateCheckInterval</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The regular update check interval.</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Objective-C</p>
|
|
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">NSTimeInterval</span> <span class="n">updateCheckInterval</span><span class="p">;</span></code></pre>
|
|
|
|
</div>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">updateCheckInterval</span><span class="p">:</span> <span class="kt">TimeInterval</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/c:objc(cs)SPUUpdaterSettings(py)allowsAutomaticUpdatesOption"></a>
|
|
<a name="//apple_ref/objc/Property/allowsAutomaticUpdatesOption" class="dashAnchor"></a>
|
|
<a class="token" href="#/c:objc(cs)SPUUpdaterSettings(py)allowsAutomaticUpdatesOption">allowsAutomaticUpdatesOption</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Indicates whether or not automatically downloading updates is allowed to be turned on by the user.
|
|
If this value is nil, the developer has not explicitly specified this option.</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Objective-C</p>
|
|
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">NSNumber</span> <span class="o">*</span><span class="n">allowsAutomaticUpdatesOption</span><span class="p">;</span></code></pre>
|
|
|
|
</div>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">allowsAutomaticUpdatesOption</span><span class="p">:</span> <span class="kt">NSNumber</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/c:objc(cs)SPUUpdaterSettings(py)allowsAutomaticUpdates"></a>
|
|
<a name="//apple_ref/objc/Property/allowsAutomaticUpdates" class="dashAnchor"></a>
|
|
<a class="token" href="#/c:objc(cs)SPUUpdaterSettings(py)allowsAutomaticUpdates">allowsAutomaticUpdates</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Indicates whether or not automatically downloading updates is allowed to be turned on by the user.</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Objective-C</p>
|
|
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">allowsAutomaticUpdates</span><span class="p">;</span></code></pre>
|
|
|
|
</div>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">allowsAutomaticUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/c:objc(cs)SPUUpdaterSettings(py)automaticallyDownloadsUpdates"></a>
|
|
<a name="//apple_ref/objc/Property/automaticallyDownloadsUpdates" class="dashAnchor"></a>
|
|
<a class="token" href="#/c:objc(cs)SPUUpdaterSettings(py)automaticallyDownloadsUpdates">automaticallyDownloadsUpdates</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Indicates whether or not automatically downloading updates is enabled by the user or developer.</p>
|
|
|
|
<p>Note this does not indicate whether or not automatic downloading of updates is allowable.
|
|
See <code>-allowsAutomaticUpdates</code> property for that.</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Objective-C</p>
|
|
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyDownloadsUpdates</span><span class="p">;</span></code></pre>
|
|
|
|
</div>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyDownloadsUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/c:objc(cs)SPUUpdaterSettings(py)sendsSystemProfile"></a>
|
|
<a name="//apple_ref/objc/Property/sendsSystemProfile" class="dashAnchor"></a>
|
|
<a class="token" href="#/c:objc(cs)SPUUpdaterSettings(py)sendsSystemProfile">sendsSystemProfile</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Indicates whether or not anonymous system profile information is sent when checking for updates.</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Objective-C</p>
|
|
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">sendsSystemProfile</span><span class="p">;</span></code></pre>
|
|
|
|
</div>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">sendsSystemProfile</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
</article>
|
|
</div>
|
|
<div class="nav-wrapper">
|
|
<nav class="nav-bottom">
|
|
<ul class="nav-groups">
|
|
<li class="nav-group-name">
|
|
<a href="../Classes.html">Classes</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SPUDownloadData.html">SPUDownloadData</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SPUStandardUpdaterController.html">SPUStandardUpdaterController</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SPUStandardUserDriver.html">SPUStandardUserDriver</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SPUUpdatePermissionRequest.html">SPUUpdatePermissionRequest</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SPUUpdater.html">SPUUpdater</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SPUUpdaterSettings.html">SPUUpdaterSettings</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SPUUserUpdateState.html">SPUUserUpdateState</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SUAppcast.html">SUAppcast</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SUAppcastItem.html">SUAppcastItem</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SUStandardVersionComparator.html">SUStandardVersionComparator</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SUUpdatePermissionResponse.html">SUUpdatePermissionResponse</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/SUUpdater.html">SUUpdater</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="../Constants.html">Constants</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SPULatestAppcastItemFoundKey">SPULatestAppcastItemFoundKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SPUNoUpdateFoundReasonKey">SPUNoUpdateFoundReasonKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SPUNoUpdateFoundUserInitiatedKey">SPUNoUpdateFoundUserInitiatedKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSparkleErrorDomain">SUSparkleErrorDomain</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerApplicationNameKey">SUSystemProfilerApplicationNameKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerApplicationVersionKey">SUSystemProfilerApplicationVersionKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerCPU64bitKey">SUSystemProfilerCPU64bitKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerCPUCountKey">SUSystemProfilerCPUCountKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerCPUFrequencyKey">SUSystemProfilerCPUFrequencyKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerCPUSubtypeKey">SUSystemProfilerCPUSubtypeKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerCPUTypeKey">SUSystemProfilerCPUTypeKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerHardwareModelKey">SUSystemProfilerHardwareModelKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerMemoryKey">SUSystemProfilerMemoryKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerOperatingSystemVersionKey">SUSystemProfilerOperatingSystemVersionKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUSystemProfilerPreferredLanguageKey">SUSystemProfilerPreferredLanguageKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUUpdaterAppcastItemNotificationKey">SUUpdaterAppcastItemNotificationKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUUpdaterAppcastNotificationKey">SUUpdaterAppcastNotificationKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUUpdaterDidFindValidUpdateNotification">SUUpdaterDidFindValidUpdateNotification</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUUpdaterDidFinishLoadingAppCastNotification">SUUpdaterDidFinishLoadingAppCastNotification</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUUpdaterDidNotFindUpdateNotification">SUUpdaterDidNotFindUpdateNotification</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Constants.html#/c:@SUUpdaterWillRestartNotification">SUUpdaterWillRestartNotification</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="../Enums.html">Enumerations</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/SPUNoUpdateFoundReason.html">SPUNoUpdateFoundReason</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/SPUUpdateCheck.html">SPUUpdateCheck</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/SPUUserUpdateChoice.html">SPUUserUpdateChoice</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/SPUUserUpdateStage.html">SPUUserUpdateStage</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/SUError.html">SUError</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="../Protocols.html">Protocols</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Protocols/SPUStandardUserDriverDelegate.html">SPUStandardUserDriverDelegate</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Protocols/SPUUpdaterDelegate.html">SPUUpdaterDelegate</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Protocols/SPUUserDriver.html">SPUUserDriver</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Protocols/SUUpdaterDelegate.html">SUUpdaterDelegate</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Protocols/SUVersionComparison.html">SUVersionComparison</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Protocols/SUVersionDisplay.html">SUVersionDisplay</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
<div class="footer-wrapper">
|
|
<section id="footer">
|
|
<p>© 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-02-23)</p>
|
|
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|