sonolus.py 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sonolus.py might be problematic. Click here for more details.
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/PKG-INFO +1 -1
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/pyproject.toml +1 -1
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/num.py +2 -1
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/stream.py +26 -2
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/uv.lock +1 -1
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/.github/workflows/publish.yaml +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/.gitignore +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/.python-version +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/.run/Python tests in tests.run.xml +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/LICENSE +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/README.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/doc_stubs/__init__.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/doc_stubs/builtins.pyi +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/doc_stubs/math.pyi +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/doc_stubs/num.pyi +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/doc_stubs/random.pyi +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/CNAME +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/concepts/builtins.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/concepts/cli.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/concepts/constructs.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/concepts/index.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/concepts/project.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/concepts/resources.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/concepts/types.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/index.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/builtins.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/index.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/math.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/random.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.archetype.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.array.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.array_like.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.bucket.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.containers.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.debug.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.easing.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.effect.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.engine.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.globals.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.instruction.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.interval.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.iterator.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.level.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.metadata.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.num.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.options.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.particle.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.printing.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.project.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.quad.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.record.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.runtime.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.sprite.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.stream.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.text.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.timing.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.transform.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.ui.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.values.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/docs/reference/sonolus.script.vec.md +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/mkdocs.yml +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/scripts/generate.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/scripts/runtimes/Engine/Tutorial/Blocks.json +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/scripts/runtimes/Functions.json +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/scripts/runtimes/Level/Play/Blocks.json +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/scripts/runtimes/Level/Preview/Blocks.json +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/scripts/runtimes/Level/Watch/Blocks.json +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/__init__.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/__init__.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/blocks.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/excepthook.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/finalize.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/interpret.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/ir.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/mode.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/node.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/ops.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/__init__.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/allocate.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/constant_evaluation.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/copy_coalesce.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/dead_code.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/dominance.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/flow.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/inlining.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/liveness.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/optimize.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/passes.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/simplify.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/optimize/ssa.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/place.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/utils.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/backend/visitor.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/build/__init__.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/build/cli.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/build/collection.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/build/compile.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/build/engine.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/build/level.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/build/node.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/build/project.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/py.typed +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/__init__.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/archetype.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/array.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/array_like.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/bucket.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/containers.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/debug.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/easing.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/effect.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/engine.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/globals.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/instruction.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/__init__.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/builtin_impls.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/callbacks.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/constant.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/context.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/descriptor.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/dict_impl.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/error.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/generic.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/impl.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/introspection.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/math_impls.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/native.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/random.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/range.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/transient.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/tuple_impl.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/internal/value.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/interval.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/iterator.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/level.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/metadata.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/options.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/particle.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/pointer.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/printing.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/project.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/quad.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/record.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/runtime.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/sprite.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/text.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/timing.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/transform.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/ui.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/values.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/sonolus/script/vec.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/__init__.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/__init__.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/conftest.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_array.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_array_map.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_array_set.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_assert.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_dict.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_flow.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_functions.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_helpers.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_interval.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_match.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_num.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_operator.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_quad.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_random.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_range.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_record.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_transform.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_tuple.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_var_array.py +0 -0
- {sonolus_py-0.3.0 → sonolus_py-0.3.1}/tests/script/test_vec.py +0 -0
|
@@ -114,10 +114,11 @@ class _Num(Value, metaclass=_NumMeta):
|
|
|
114
114
|
return Num(self.data)
|
|
115
115
|
|
|
116
116
|
def _set_(self, value: Self):
|
|
117
|
+
value = Num._accept_(value)
|
|
117
118
|
if ctx():
|
|
118
119
|
match self.data:
|
|
119
120
|
case BackingValue():
|
|
120
|
-
|
|
121
|
+
self.data.write(value.ir())
|
|
121
122
|
case BlockPlace():
|
|
122
123
|
ctx().check_writable(self.data)
|
|
123
124
|
ctx().add_statements(IRSet(self.data, value.ir()))
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import cast, dataclass_transform
|
|
4
4
|
|
|
5
|
-
from sonolus.backend.ir import IRExpr, IRInstr, IRPureInstr
|
|
5
|
+
from sonolus.backend.ir import IRExpr, IRInstr, IRPureInstr, IRConst
|
|
6
6
|
from sonolus.backend.mode import Mode
|
|
7
7
|
from sonolus.backend.ops import Op
|
|
8
8
|
from sonolus.script.internal.context import ctx
|
|
@@ -42,7 +42,7 @@ class _StreamDataField(SonolusDescriptor):
|
|
|
42
42
|
self.type_ = type_
|
|
43
43
|
|
|
44
44
|
def _get(self):
|
|
45
|
-
return self.type_._from_backing_source_(lambda offset:
|
|
45
|
+
return self.type_._from_backing_source_(lambda offset: _SparseStreamBacking(self.offset, Num(offset)))
|
|
46
46
|
|
|
47
47
|
def __get__(self, instance, owner):
|
|
48
48
|
_check_can_read_or_write_stream()
|
|
@@ -150,6 +150,30 @@ class _StreamBacking(BackingValue):
|
|
|
150
150
|
ctx().add_statement(IRInstr(Op.StreamSet, [self.id.ir(), self.index.ir(), value]))
|
|
151
151
|
|
|
152
152
|
|
|
153
|
+
class _SparseStreamBacking(BackingValue):
|
|
154
|
+
id: Num
|
|
155
|
+
index: Num
|
|
156
|
+
|
|
157
|
+
def __init__(self, stream_id: int, index: Num):
|
|
158
|
+
super().__init__()
|
|
159
|
+
self.id = Num._accept_(stream_id)
|
|
160
|
+
self.index = Num._accept_(index)
|
|
161
|
+
|
|
162
|
+
def read(self) -> IRExpr:
|
|
163
|
+
"""Read the value from the stream."""
|
|
164
|
+
_check_can_read_stream()
|
|
165
|
+
return IRPureInstr(Op.StreamGetValue, [self.id.ir(), self.index.ir()])
|
|
166
|
+
|
|
167
|
+
def write(self, value: IRExpr) -> None:
|
|
168
|
+
"""Write the value to the stream."""
|
|
169
|
+
_check_can_write_stream()
|
|
170
|
+
ctx().add_statements(
|
|
171
|
+
IRInstr(Op.StreamSet, [self.id.ir(), self.index.ir(), value]),
|
|
172
|
+
IRInstr(Op.StreamSet, [self.id.ir(), (self.index - 0.5).ir(), IRConst(0)]),
|
|
173
|
+
IRInstr(Op.StreamSet, [self.id.ir(), (self.index + 0.5).ir(), IRConst(0)]),
|
|
174
|
+
)
|
|
175
|
+
|
|
176
|
+
|
|
153
177
|
class Stream[T](Record, BackingValue):
|
|
154
178
|
"""Represents a stream.
|
|
155
179
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|