Skip to content

Commit

Permalink
doc updates [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
Circle Ci committed Oct 2, 2024
1 parent c732502 commit 42bd2b7
Show file tree
Hide file tree
Showing 31 changed files with 91 additions and 91 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified dev/_images/sphx_glr_plot_mixed_edge_graph_001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified dev/_images/sphx_glr_plot_mixed_edge_graph_thumb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ To check if the constructed PAG is a valid one in pywhy-graphs, we can simply do
.. code-block:: none
ConditioningSetSelection.PDS
Context(observed_variables={'L', 'S', 'I', 'PSH', 'G'}, latent_variables=set(), state_variables={}, init_graph=<networkx.classes.graph.Graph object at 0x7f92dca47fd0>, included_edges=<networkx.classes.graph.Graph object at 0x7f92dca50710>, excluded_edges=<networkx.classes.graph.Graph object at 0x7f92dca50b50>, num_distributions=1, obs_distribution=True, intervention_targets=[], symmetric_diff_map={}, sigma_map={}, f_nodes=[], num_domains=1, domain_map={}, s_nodes=[])
Context(observed_variables={'L', 'PSH', 'I', 'S', 'G'}, latent_variables=set(), state_variables={}, init_graph=<networkx.classes.graph.Graph object at 0x7f0ab32204d0>, included_edges=<networkx.classes.graph.Graph object at 0x7f0ab3220bd0>, excluded_edges=<networkx.classes.graph.Graph object at 0x7f0ab3221010>, num_distributions=1, obs_distribution=True, intervention_targets=[], symmetric_diff_map={}, sigma_map={}, f_nodes=[], num_domains=1, domain_map={}, s_nodes=[])
True
Expand Down Expand Up @@ -180,7 +180,7 @@ relationship. As such, the resulting graph is no longer a valid PAG.
.. code-block:: none
ConditioningSetSelection.PDS
Context(observed_variables={'L', 'S', 'I', 'PSH', 'G'}, latent_variables=set(), state_variables={}, init_graph=<networkx.classes.graph.Graph object at 0x7f92dca58d10>, included_edges=<networkx.classes.graph.Graph object at 0x7f92dca59410>, excluded_edges=<networkx.classes.graph.Graph object at 0x7f92dca59850>, num_distributions=1, obs_distribution=True, intervention_targets=[], symmetric_diff_map={}, sigma_map={}, f_nodes=[], num_domains=1, domain_map={}, s_nodes=[])
Context(observed_variables={'L', 'PSH', 'I', 'S', 'G'}, latent_variables=set(), state_variables={}, init_graph=<networkx.classes.graph.Graph object at 0x7f0ab322d310>, included_edges=<networkx.classes.graph.Graph object at 0x7f0ab322da10>, excluded_edges=<networkx.classes.graph.Graph object at 0x7f0ab322de50>, num_distributions=1, obs_distribution=True, intervention_targets=[], symmetric_diff_map={}, sigma_map={}, f_nodes=[], num_domains=1, domain_map={}, s_nodes=[])
False
Expand All @@ -195,7 +195,7 @@ References

.. rst-class:: sphx-glr-timing

**Total running time of the script:** (0 minutes 1.206 seconds)
**Total running time of the script:** (0 minutes 1.147 seconds)

**Estimated memory usage:** 167 MB

Expand Down
4 changes: 2 additions & 2 deletions dev/_sources/auto_examples/intro/inducing_path.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,9 @@ References

.. rst-class:: sphx-glr-timing

**Total running time of the script:** (0 minutes 1.303 seconds)
**Total running time of the script:** (0 minutes 1.182 seconds)

**Estimated memory usage:** 165 MB
**Estimated memory usage:** 166 MB


.. _sphx_glr_download_auto_examples_intro_inducing_path.py:
Expand Down
8 changes: 4 additions & 4 deletions dev/_sources/auto_examples/intro/intro_causal_graphs.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ Here, we will simulate some data to understand causal graphs in the context of S

.. code-block:: none
Fitting causal models: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node x: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node y: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node z: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node w: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node xy: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node xy: 100%|██████████| 5/5 [00:00<00:00, 469.90it/s]
Fitting causal models: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node x: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node y: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node z: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node w: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node xy: 0%| | 0/5 [00:00<?, ?it/s] Fitting causal mechanism of node xy: 100%|██████████| 5/5 [00:00<00:00, 817.83it/s]
z xy w x y
0 1 1 1 1 1
1 1 1 2 2 3
Expand All @@ -183,7 +183,7 @@ Here, we will simulate some data to understand causal graphs in the context of S
y [1, 3, 2, 0]
dtype: object

<graphviz.graphs.Digraph object at 0x7f92ee641890>
<graphviz.graphs.Digraph object at 0x7f0ae1e92450>



Expand Down Expand Up @@ -308,7 +308,7 @@ in the graph. These unobserved confounders are graphically depicted with a bidir
.. code-block:: none
['x', 'z']
The ADMG has confounded-components: [{'y', 'x'}, {'z'}, {'w'}]
The ADMG has confounded-components: [{'x', 'y'}, {'z'}, {'w'}]
'z' is d-separated from 'x': True
'z' is d-separated from 'x' given 'y': False
'z' is d-separated from 'x' after adding a bidirected edge z<->x: False
Expand Down Expand Up @@ -427,7 +427,7 @@ References

.. rst-class:: sphx-glr-timing

**Total running time of the script:** (0 minutes 2.617 seconds)
**Total running time of the script:** (0 minutes 2.413 seconds)

**Estimated memory usage:** 252 MB

Expand Down
14 changes: 7 additions & 7 deletions dev/_sources/auto_examples/intro/sg_execution_times.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Computation times
=================
**00:05.125** total execution time for 3 files **from auto_examples/intro**:
**00:04.743** total execution time for 3 files **from auto_examples/intro**:

.. container::

Expand All @@ -33,11 +33,11 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_auto_examples_intro_intro_causal_graphs.py` (``intro_causal_graphs.py``)
- 00:02.617
- 251.6
- 00:02.413
- 252.0
* - :ref:`sphx_glr_auto_examples_intro_inducing_path.py` (``inducing_path.py``)
- 00:01.303
- 165.1
- 00:01.182
- 165.5
* - :ref:`sphx_glr_auto_examples_intro_checking_validity_of_a_pag.py` (``checking_validity_of_a_pag.py``)
- 00:01.206
- 166.7
- 00:01.147
- 167.1
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ Mixed Edge Graph Properties
MixedEdgeGraph named 'IV Graph' with 3 nodes and 3 edges and 2 edge types is directed: False because there are directed edges.
False
['directed', 'bidirected']
{'directed': <networkx.classes.digraph.DiGraph object at 0x7f92eea032d0>, 'bidirected': <networkx.classes.graph.Graph object at 0x7f92ee62dd50>}
{'directed': <networkx.classes.digraph.DiGraph object at 0x7f0ae03d0c50>, 'bidirected': <networkx.classes.graph.Graph object at 0x7f0b97d8c090>}
Expand Down Expand Up @@ -194,7 +194,7 @@ Mixed Edge Graph Operations on Nodes

.. code-block:: none
MixedEdgeGraph named 'IV Graph' with 3 nodes and 3 edges and 2 edge types has nodes: ['X', 'Z', 'Y']
MixedEdgeGraph named 'IV Graph' with 3 nodes and 3 edges and 2 edge types has nodes: ['X', 'Y', 'Z']
Graph has node A: False
Now graph has node A: True
Graph has node A: False
Expand Down Expand Up @@ -312,9 +312,9 @@ class properties. Moreover, one can specify the edge type.
.. rst-class:: sphx-glr-timing

**Total running time of the script:** (0 minutes 1.606 seconds)
**Total running time of the script:** (0 minutes 1.339 seconds)

**Estimated memory usage:** 171 MB
**Estimated memory usage:** 172 MB


.. _sphx_glr_download_auto_examples_mixededge_plot_mixed_edge_graph.py:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Computation times
=================
**00:01.606** total execution time for 1 file **from auto_examples/mixededge**:
**00:01.339** total execution time for 1 file **from auto_examples/mixededge**:

.. container::

Expand All @@ -33,5 +33,5 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_auto_examples_mixededge_plot_mixed_edge_graph.py` (``plot_mixed_edge_graph.py``)
- 00:01.606
- 171.3
- 00:01.339
- 172.0
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,9 @@ such as `Dagitty <http://dagitty.net>`_.
.. rst-class:: sphx-glr-timing

**Total running time of the script:** (0 minutes 0.452 seconds)
**Total running time of the script:** (0 minutes 0.419 seconds)

**Estimated memory usage:** 165 MB
**Estimated memory usage:** 166 MB


.. _sphx_glr_download_auto_examples_visualization_draw_and_compare_graphs_with_same_layout.py:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,9 @@ which creates a nice default layout for time-series graphs.
.. rst-class:: sphx-glr-timing

**Total running time of the script:** (0 minutes 1.196 seconds)
**Total running time of the script:** (0 minutes 1.024 seconds)

**Estimated memory usage:** 165 MB
**Estimated memory usage:** 166 MB


.. _sphx_glr_download_auto_examples_visualization_plot_timeseries_graphs.py:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Computation times
=================
**00:01.648** total execution time for 2 files **from auto_examples/visualization**:
**00:01.443** total execution time for 2 files **from auto_examples/visualization**:

.. container::

Expand All @@ -33,8 +33,8 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_auto_examples_visualization_plot_timeseries_graphs.py` (``plot_timeseries_graphs.py``)
- 00:01.196
- 165.1
- 00:01.024
- 165.5
* - :ref:`sphx_glr_auto_examples_visualization_draw_and_compare_graphs_with_same_layout.py` (``draw_and_compare_graphs_with_same_layout.py``)
- 00:00.452
- 165.1
- 00:00.419
- 165.5
26 changes: 13 additions & 13 deletions dev/_sources/sg_execution_times.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Computation times
=================
**00:08.380** total execution time for 6 files **from all galleries**:
**00:07.525** total execution time for 6 files **from all galleries**:

.. container::

Expand All @@ -33,20 +33,20 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_auto_examples_intro_intro_causal_graphs.py` (``../examples/intro/intro_causal_graphs.py``)
- 00:02.617
- 251.6
- 00:02.413
- 252.0
* - :ref:`sphx_glr_auto_examples_mixededge_plot_mixed_edge_graph.py` (``../examples/mixededge/plot_mixed_edge_graph.py``)
- 00:01.606
- 171.3
- 00:01.339
- 172.0
* - :ref:`sphx_glr_auto_examples_intro_inducing_path.py` (``../examples/intro/inducing_path.py``)
- 00:01.303
- 165.1
- 00:01.182
- 165.5
* - :ref:`sphx_glr_auto_examples_intro_checking_validity_of_a_pag.py` (``../examples/intro/checking_validity_of_a_pag.py``)
- 00:01.206
- 166.7
- 00:01.147
- 167.1
* - :ref:`sphx_glr_auto_examples_visualization_plot_timeseries_graphs.py` (``../examples/visualization/plot_timeseries_graphs.py``)
- 00:01.196
- 165.1
- 00:01.024
- 165.5
* - :ref:`sphx_glr_auto_examples_visualization_draw_and_compare_graphs_with_same_layout.py` (``../examples/visualization/draw_and_compare_graphs_with_same_layout.py``)
- 00:00.452
- 165.1
- 00:00.419
- 165.5
6 changes: 3 additions & 3 deletions dev/auto_examples/intro/checking_validity_of_a_pag.html
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,7 @@ <h2>Validity of a PAG<a class="headerlink" href="#validity-of-a-pag" title="Link
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>ConditioningSetSelection.PDS
Context(observed_variables={&#39;L&#39;, &#39;S&#39;, &#39;I&#39;, &#39;PSH&#39;, &#39;G&#39;}, latent_variables=set(), state_variables={}, init_graph=&lt;networkx.classes.graph.Graph object at 0x7f92dca47fd0&gt;, included_edges=&lt;networkx.classes.graph.Graph object at 0x7f92dca50710&gt;, excluded_edges=&lt;networkx.classes.graph.Graph object at 0x7f92dca50b50&gt;, num_distributions=1, obs_distribution=True, intervention_targets=[], symmetric_diff_map={}, sigma_map={}, f_nodes=[], num_domains=1, domain_map={}, s_nodes=[])
Context(observed_variables={&#39;L&#39;, &#39;PSH&#39;, &#39;I&#39;, &#39;S&#39;, &#39;G&#39;}, latent_variables=set(), state_variables={}, init_graph=&lt;networkx.classes.graph.Graph object at 0x7f0ab32204d0&gt;, included_edges=&lt;networkx.classes.graph.Graph object at 0x7f0ab3220bd0&gt;, excluded_edges=&lt;networkx.classes.graph.Graph object at 0x7f0ab3221010&gt;, num_distributions=1, obs_distribution=True, intervention_targets=[], symmetric_diff_map={}, sigma_map={}, f_nodes=[], num_domains=1, domain_map={}, s_nodes=[])
True
</pre></div>
</div>
Expand All @@ -585,7 +585,7 @@ <h2>Validity of a PAG<a class="headerlink" href="#validity-of-a-pag" title="Link
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>ConditioningSetSelection.PDS
Context(observed_variables={&#39;L&#39;, &#39;S&#39;, &#39;I&#39;, &#39;PSH&#39;, &#39;G&#39;}, latent_variables=set(), state_variables={}, init_graph=&lt;networkx.classes.graph.Graph object at 0x7f92dca58d10&gt;, included_edges=&lt;networkx.classes.graph.Graph object at 0x7f92dca59410&gt;, excluded_edges=&lt;networkx.classes.graph.Graph object at 0x7f92dca59850&gt;, num_distributions=1, obs_distribution=True, intervention_targets=[], symmetric_diff_map={}, sigma_map={}, f_nodes=[], num_domains=1, domain_map={}, s_nodes=[])
Context(observed_variables={&#39;L&#39;, &#39;PSH&#39;, &#39;I&#39;, &#39;S&#39;, &#39;G&#39;}, latent_variables=set(), state_variables={}, init_graph=&lt;networkx.classes.graph.Graph object at 0x7f0ab322d310&gt;, included_edges=&lt;networkx.classes.graph.Graph object at 0x7f0ab322da10&gt;, excluded_edges=&lt;networkx.classes.graph.Graph object at 0x7f0ab322de50&gt;, num_distributions=1, obs_distribution=True, intervention_targets=[], symmetric_diff_map={}, sigma_map={}, f_nodes=[], num_domains=1, domain_map={}, s_nodes=[])
False
</pre></div>
</div>
Expand All @@ -601,7 +601,7 @@ <h2>References<a class="headerlink" href="#references" title="Link to this headi
</aside>
</aside>
</div>
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> (0 minutes 1.206 seconds)</p>
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> (0 minutes 1.147 seconds)</p>
<p><strong>Estimated memory usage:</strong> 167 MB</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-auto-examples-intro-checking-validity-of-a-pag-py">
<div class="sphx-glr-download sphx-glr-download-jupyter docutils container">
Expand Down
4 changes: 2 additions & 2 deletions dev/auto_examples/intro/inducing_path.html
Original file line number Diff line number Diff line change
Expand Up @@ -637,8 +637,8 @@ <h2>References<a class="headerlink" href="#references" title="Link to this headi
</aside>
</aside>
</div>
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> (0 minutes 1.303 seconds)</p>
<p><strong>Estimated memory usage:</strong> 165 MB</p>
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> (0 minutes 1.182 seconds)</p>
<p><strong>Estimated memory usage:</strong> 166 MB</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-auto-examples-intro-inducing-path-py">
<div class="sphx-glr-download sphx-glr-download-jupyter docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/8259499c2b052354bd5dc54791c0d957/inducing_path.ipynb"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Jupyter</span> <span class="pre">notebook:</span> <span class="pre">inducing_path.ipynb</span></code></a></p>
Expand Down
8 changes: 4 additions & 4 deletions dev/auto_examples/intro/intro_causal_graphs.html
Original file line number Diff line number Diff line change
Expand Up @@ -618,7 +618,7 @@ <h2>Structural Causal Models: Simulating some data<a class="headerlink" href="#s
Fitting causal mechanism of node z: 0%| | 0/5 [00:00&lt;?, ?it/s]
Fitting causal mechanism of node w: 0%| | 0/5 [00:00&lt;?, ?it/s]
Fitting causal mechanism of node xy: 0%| | 0/5 [00:00&lt;?, ?it/s]
Fitting causal mechanism of node xy: 100%|██████████| 5/5 [00:00&lt;00:00, 469.90it/s]
Fitting causal mechanism of node xy: 100%|██████████| 5/5 [00:00&lt;00:00, 817.83it/s]
z xy w x y
0 1 1 1 1 1
1 1 1 2 2 3
Expand All @@ -632,7 +632,7 @@ <h2>Structural Causal Models: Simulating some data<a class="headerlink" href="#s
y [1, 3, 2, 0]
dtype: object

&lt;graphviz.graphs.Digraph object at 0x7f92ee641890&gt;
&lt;graphviz.graphs.Digraph object at 0x7f0ae1e92450&gt;
</pre></div>
</div>
</section>
Expand Down Expand Up @@ -720,7 +720,7 @@ <h2>Acyclic Directed Mixed Graphs (ADMG)<a class="headerlink" href="#acyclic-dir
</pre></div>
</div>
<img src="../../_images/sphx_glr_intro_causal_graphs_002.png" srcset="../../_images/sphx_glr_intro_causal_graphs_002.png" alt="intro causal graphs" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[&#39;x&#39;, &#39;z&#39;]
The ADMG has confounded-components: [{&#39;y&#39;, &#39;x&#39;}, {&#39;z&#39;}, {&#39;w&#39;}]
The ADMG has confounded-components: [{&#39;x&#39;, &#39;y&#39;}, {&#39;z&#39;}, {&#39;w&#39;}]
&#39;z&#39; is d-separated from &#39;x&#39;: True
&#39;z&#39; is d-separated from &#39;x&#39; given &#39;y&#39;: False
&#39;z&#39; is d-separated from &#39;x&#39; after adding a bidirected edge z&lt;-&gt;x: False
Expand Down Expand Up @@ -801,7 +801,7 @@ <h3>References<a class="headerlink" href="#references" title="Link to this headi
</aside>
</aside>
</div>
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> (0 minutes 2.617 seconds)</p>
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> (0 minutes 2.413 seconds)</p>
<p><strong>Estimated memory usage:</strong> 252 MB</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-auto-examples-intro-intro-causal-graphs-py">
<div class="sphx-glr-download sphx-glr-download-jupyter docutils container">
Expand Down
14 changes: 7 additions & 7 deletions dev/auto_examples/intro/sg_execution_times.html
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@

<section id="computation-times">
<span id="sphx-glr-auto-examples-intro-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading">#</a></h1>
<p><strong>00:05.125</strong> total execution time for 3 files <strong>from auto_examples/intro</strong>:</p>
<p><strong>00:04.743</strong> total execution time for 3 files <strong>from auto_examples/intro</strong>:</p>
<div class="docutils container">
<style scoped>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
Expand All @@ -484,16 +484,16 @@
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="intro_causal_graphs.html#sphx-glr-auto-examples-intro-intro-causal-graphs-py"><span class="std std-ref">An introduction to causal graphs and how to use them</span></a> (<code class="docutils literal notranslate"><span class="pre">intro_causal_graphs.py</span></code>)</p></td>
<td><p>00:02.617</p></td>
<td><p>251.6</p></td>
<td><p>00:02.413</p></td>
<td><p>252.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="inducing_path.html#sphx-glr-auto-examples-intro-inducing-path-py"><span class="std std-ref">An introduction to Inducing Paths and how to find them</span></a> (<code class="docutils literal notranslate"><span class="pre">inducing_path.py</span></code>)</p></td>
<td><p>00:01.303</p></td>
<td><p>165.1</p></td>
<td><p>00:01.182</p></td>
<td><p>165.5</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="checking_validity_of_a_pag.html#sphx-glr-auto-examples-intro-checking-validity-of-a-pag-py"><span class="std std-ref">On PAGs and their validity</span></a> (<code class="docutils literal notranslate"><span class="pre">checking_validity_of_a_pag.py</span></code>)</p></td>
<td><p>00:01.206</p></td>
<td><p>166.7</p></td>
<td><p>00:01.147</p></td>
<td><p>167.1</p></td>
</tr>
</tbody>
</table>
Expand Down
Loading

0 comments on commit 42bd2b7

Please sign in to comment.