azure_mgmt_recovery_services 0.10.0 → 0.11.0
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.
- checksums.yaml +4 -4
- data/lib/generated/azure_mgmt_recovery_services.rb +40 -1
- data/lib/generated/azure_mgmt_recovery_services/backup_storage_configs.rb +215 -0
- data/lib/generated/azure_mgmt_recovery_services/backup_vault_configs.rb +226 -0
- data/lib/generated/azure_mgmt_recovery_services/models/auth_type.rb +19 -0
- data/lib/generated/azure_mgmt_recovery_services/models/backup_storage_config.rb +100 -0
- data/lib/generated/azure_mgmt_recovery_services/models/backup_vault_config.rb +100 -0
- data/lib/generated/azure_mgmt_recovery_services/models/certificate_request.rb +46 -0
- data/lib/generated/azure_mgmt_recovery_services/models/client_discovery_display.rb +79 -0
- data/lib/generated/azure_mgmt_recovery_services/models/client_discovery_for_log_specification.rb +68 -0
- data/lib/generated/azure_mgmt_recovery_services/models/client_discovery_for_service_specification.rb +55 -0
- data/lib/generated/azure_mgmt_recovery_services/models/client_discovery_response.rb +97 -0
- data/lib/generated/azure_mgmt_recovery_services/models/client_discovery_value_for_single_api.rb +82 -0
- data/lib/generated/azure_mgmt_recovery_services/models/enhanced_security_state.rb +17 -0
- data/lib/generated/azure_mgmt_recovery_services/models/jobs_summary.rb +65 -0
- data/lib/generated/azure_mgmt_recovery_services/models/monitoring_summary.rb +97 -0
- data/lib/generated/azure_mgmt_recovery_services/models/name_info.rb +55 -0
- data/lib/generated/azure_mgmt_recovery_services/models/raw_certificate_data.rb +57 -0
- data/lib/generated/azure_mgmt_recovery_services/models/replication_usage.rb +100 -0
- data/lib/generated/azure_mgmt_recovery_services/models/replication_usage_list.rb +54 -0
- data/lib/generated/azure_mgmt_recovery_services/models/resource.rb +7 -29
- data/lib/generated/azure_mgmt_recovery_services/models/resource_certificate_and_aad_details.rb +155 -0
- data/lib/generated/azure_mgmt_recovery_services/models/resource_certificate_and_acs_details.rb +135 -0
- data/lib/generated/azure_mgmt_recovery_services/models/resource_certificate_details.rb +128 -0
- data/lib/generated/azure_mgmt_recovery_services/models/sku.rb +2 -1
- data/lib/generated/azure_mgmt_recovery_services/models/sku_name.rb +1 -1
- data/lib/generated/azure_mgmt_recovery_services/models/storage_model_type.rb +17 -0
- data/lib/generated/azure_mgmt_recovery_services/models/storage_type.rb +17 -0
- data/lib/generated/azure_mgmt_recovery_services/models/storage_type_state.rb +17 -0
- data/lib/generated/azure_mgmt_recovery_services/models/tracked_resource.rb +93 -0
- data/lib/generated/azure_mgmt_recovery_services/models/trigger_type.rb +16 -0
- data/lib/generated/azure_mgmt_recovery_services/models/upgrade_details.rb +138 -0
- data/lib/generated/azure_mgmt_recovery_services/models/usages_unit.rb +20 -0
- data/lib/generated/azure_mgmt_recovery_services/models/vault.rb +19 -19
- data/lib/generated/azure_mgmt_recovery_services/models/vault_certificate_response.rb +79 -0
- data/lib/generated/azure_mgmt_recovery_services/models/vault_extended_info_resource.rb +106 -0
- data/lib/generated/azure_mgmt_recovery_services/models/vault_list.rb +13 -32
- data/lib/generated/azure_mgmt_recovery_services/models/vault_properties.rb +13 -1
- data/lib/generated/azure_mgmt_recovery_services/models/vault_upgrade_state.rb +18 -0
- data/lib/generated/azure_mgmt_recovery_services/models/vault_usage.rb +98 -0
- data/lib/generated/azure_mgmt_recovery_services/models/vault_usage_list.rb +53 -0
- data/lib/generated/azure_mgmt_recovery_services/module_definition.rb +1 -1
- data/lib/generated/azure_mgmt_recovery_services/operations.rb +224 -0
- data/lib/generated/azure_mgmt_recovery_services/recovery_services_client.rb +33 -5
- data/lib/generated/azure_mgmt_recovery_services/registered_identities.rb +112 -0
- data/lib/generated/azure_mgmt_recovery_services/replication_usages.rb +119 -0
- data/lib/generated/azure_mgmt_recovery_services/usages.rb +119 -0
- data/lib/generated/azure_mgmt_recovery_services/vault_certificates.rb +139 -0
- data/lib/generated/azure_mgmt_recovery_services/vault_extended_info_operations.rb +339 -0
- data/lib/generated/azure_mgmt_recovery_services/vaults.rb +230 -139
- data/lib/generated/azure_mgmt_recovery_services/version.rb +2 -2
- metadata +43 -4
@@ -0,0 +1,20 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::RecoveryServices
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# Defines values for UsagesUnit
|
10
|
+
#
|
11
|
+
module UsagesUnit
|
12
|
+
Count = "Count"
|
13
|
+
Bytes = "Bytes"
|
14
|
+
Seconds = "Seconds"
|
15
|
+
Percent = "Percent"
|
16
|
+
CountPerSecond = "CountPerSecond"
|
17
|
+
BytesPerSecond = "BytesPerSecond"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
# Code generated by Microsoft (R) AutoRest Code Generator 1.
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
|
3
3
|
# Changes may cause incorrect behavior and will be lost if the code is
|
4
4
|
# regenerated.
|
5
5
|
|
@@ -8,16 +8,17 @@ module Azure::ARM::RecoveryServices
|
|
8
8
|
#
|
9
9
|
# Resource information, as returned by the resource provider.
|
10
10
|
#
|
11
|
-
class Vault <
|
11
|
+
class Vault < TrackedResource
|
12
12
|
|
13
13
|
include MsRestAzure
|
14
14
|
|
15
|
-
|
16
|
-
attr_accessor :etag
|
17
|
-
|
15
|
+
include MsRest::JSONable
|
18
16
|
# @return [VaultProperties]
|
19
17
|
attr_accessor :properties
|
20
18
|
|
19
|
+
# @return [Sku]
|
20
|
+
attr_accessor :sku
|
21
|
+
|
21
22
|
|
22
23
|
#
|
23
24
|
# Mapper for Vault class as Ruby Hash.
|
@@ -55,19 +56,18 @@ module Azure::ARM::RecoveryServices
|
|
55
56
|
name: 'String'
|
56
57
|
}
|
57
58
|
},
|
58
|
-
|
59
|
+
e_tag: {
|
59
60
|
required: false,
|
60
|
-
serialized_name: '
|
61
|
+
serialized_name: 'eTag',
|
61
62
|
type: {
|
62
63
|
name: 'String'
|
63
64
|
}
|
64
65
|
},
|
65
|
-
|
66
|
-
required:
|
67
|
-
serialized_name: '
|
66
|
+
location: {
|
67
|
+
required: true,
|
68
|
+
serialized_name: 'location',
|
68
69
|
type: {
|
69
|
-
name: '
|
70
|
-
class_name: 'Sku'
|
70
|
+
name: 'String'
|
71
71
|
}
|
72
72
|
},
|
73
73
|
tags: {
|
@@ -84,20 +84,20 @@ module Azure::ARM::RecoveryServices
|
|
84
84
|
}
|
85
85
|
}
|
86
86
|
},
|
87
|
-
|
87
|
+
properties: {
|
88
88
|
required: false,
|
89
|
-
|
90
|
-
serialized_name: 'etag',
|
89
|
+
serialized_name: 'properties',
|
91
90
|
type: {
|
92
|
-
name: '
|
91
|
+
name: 'Composite',
|
92
|
+
class_name: 'VaultProperties'
|
93
93
|
}
|
94
94
|
},
|
95
|
-
|
95
|
+
sku: {
|
96
96
|
required: false,
|
97
|
-
serialized_name: '
|
97
|
+
serialized_name: 'sku',
|
98
98
|
type: {
|
99
99
|
name: 'Composite',
|
100
|
-
class_name: '
|
100
|
+
class_name: 'Sku'
|
101
101
|
}
|
102
102
|
}
|
103
103
|
}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::RecoveryServices
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# Certificate corresponding to a vault that can be used by clients to
|
10
|
+
# register themselves with the vault.
|
11
|
+
#
|
12
|
+
class VaultCertificateResponse
|
13
|
+
|
14
|
+
include MsRestAzure
|
15
|
+
|
16
|
+
include MsRest::JSONable
|
17
|
+
# @return [String]
|
18
|
+
attr_accessor :name
|
19
|
+
|
20
|
+
# @return [String]
|
21
|
+
attr_accessor :type
|
22
|
+
|
23
|
+
# @return [String]
|
24
|
+
attr_accessor :id
|
25
|
+
|
26
|
+
# @return [ResourceCertificateDetails]
|
27
|
+
attr_accessor :properties
|
28
|
+
|
29
|
+
|
30
|
+
#
|
31
|
+
# Mapper for VaultCertificateResponse class as Ruby Hash.
|
32
|
+
# This will be used for serialization/deserialization.
|
33
|
+
#
|
34
|
+
def self.mapper()
|
35
|
+
{
|
36
|
+
required: false,
|
37
|
+
serialized_name: 'VaultCertificateResponse',
|
38
|
+
type: {
|
39
|
+
name: 'Composite',
|
40
|
+
class_name: 'VaultCertificateResponse',
|
41
|
+
model_properties: {
|
42
|
+
name: {
|
43
|
+
required: false,
|
44
|
+
serialized_name: 'name',
|
45
|
+
type: {
|
46
|
+
name: 'String'
|
47
|
+
}
|
48
|
+
},
|
49
|
+
type: {
|
50
|
+
required: false,
|
51
|
+
serialized_name: 'type',
|
52
|
+
type: {
|
53
|
+
name: 'String'
|
54
|
+
}
|
55
|
+
},
|
56
|
+
id: {
|
57
|
+
required: false,
|
58
|
+
serialized_name: 'id',
|
59
|
+
type: {
|
60
|
+
name: 'String'
|
61
|
+
}
|
62
|
+
},
|
63
|
+
properties: {
|
64
|
+
required: false,
|
65
|
+
serialized_name: 'properties',
|
66
|
+
type: {
|
67
|
+
name: 'Composite',
|
68
|
+
polymorphic_discriminator: 'authType',
|
69
|
+
uber_parent: 'ResourceCertificateDetails',
|
70
|
+
class_name: 'ResourceCertificateDetails'
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,106 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::RecoveryServices
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# Vault extended information.
|
10
|
+
#
|
11
|
+
class VaultExtendedInfoResource < MsRestAzure::Resource
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
include MsRest::JSONable
|
16
|
+
# @return [String] Integrity key.
|
17
|
+
attr_accessor :integrity_key
|
18
|
+
|
19
|
+
# @return [String] Encryption key.
|
20
|
+
attr_accessor :encryption_key
|
21
|
+
|
22
|
+
# @return [String] Encryption key thumbprint.
|
23
|
+
attr_accessor :encryption_key_thumbprint
|
24
|
+
|
25
|
+
# @return [String] Algorithm.
|
26
|
+
attr_accessor :algorithm
|
27
|
+
|
28
|
+
|
29
|
+
#
|
30
|
+
# Mapper for VaultExtendedInfoResource class as Ruby Hash.
|
31
|
+
# This will be used for serialization/deserialization.
|
32
|
+
#
|
33
|
+
def self.mapper()
|
34
|
+
{
|
35
|
+
required: false,
|
36
|
+
serialized_name: 'VaultExtendedInfoResource',
|
37
|
+
type: {
|
38
|
+
name: 'Composite',
|
39
|
+
class_name: 'VaultExtendedInfoResource',
|
40
|
+
model_properties: {
|
41
|
+
id: {
|
42
|
+
required: false,
|
43
|
+
read_only: true,
|
44
|
+
serialized_name: 'id',
|
45
|
+
type: {
|
46
|
+
name: 'String'
|
47
|
+
}
|
48
|
+
},
|
49
|
+
name: {
|
50
|
+
required: false,
|
51
|
+
read_only: true,
|
52
|
+
serialized_name: 'name',
|
53
|
+
type: {
|
54
|
+
name: 'String'
|
55
|
+
}
|
56
|
+
},
|
57
|
+
type: {
|
58
|
+
required: false,
|
59
|
+
read_only: true,
|
60
|
+
serialized_name: 'type',
|
61
|
+
type: {
|
62
|
+
name: 'String'
|
63
|
+
}
|
64
|
+
},
|
65
|
+
e_tag: {
|
66
|
+
required: false,
|
67
|
+
serialized_name: 'eTag',
|
68
|
+
type: {
|
69
|
+
name: 'String'
|
70
|
+
}
|
71
|
+
},
|
72
|
+
integrity_key: {
|
73
|
+
required: false,
|
74
|
+
serialized_name: 'properties.integrityKey',
|
75
|
+
type: {
|
76
|
+
name: 'String'
|
77
|
+
}
|
78
|
+
},
|
79
|
+
encryption_key: {
|
80
|
+
required: false,
|
81
|
+
serialized_name: 'properties.encryptionKey',
|
82
|
+
type: {
|
83
|
+
name: 'String'
|
84
|
+
}
|
85
|
+
},
|
86
|
+
encryption_key_thumbprint: {
|
87
|
+
required: false,
|
88
|
+
serialized_name: 'properties.encryptionKeyThumbprint',
|
89
|
+
type: {
|
90
|
+
name: 'String'
|
91
|
+
}
|
92
|
+
},
|
93
|
+
algorithm: {
|
94
|
+
required: false,
|
95
|
+
serialized_name: 'properties.algorithm',
|
96
|
+
type: {
|
97
|
+
name: 'String'
|
98
|
+
}
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
}
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -1,51 +1,24 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
# Code generated by Microsoft (R) AutoRest Code Generator 1.
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
|
3
3
|
# Changes may cause incorrect behavior and will be lost if the code is
|
4
4
|
# regenerated.
|
5
5
|
|
6
6
|
module Azure::ARM::RecoveryServices
|
7
7
|
module Models
|
8
8
|
#
|
9
|
-
# The response model for
|
9
|
+
# The response model for a list of Vaults.
|
10
10
|
#
|
11
11
|
class VaultList
|
12
12
|
|
13
13
|
include MsRestAzure
|
14
14
|
|
15
|
+
include MsRest::JSONable
|
15
16
|
# @return [Array<Vault>]
|
16
17
|
attr_accessor :value
|
17
18
|
|
18
|
-
# return [
|
19
|
-
attr_accessor :
|
19
|
+
# @return [String]
|
20
|
+
attr_accessor :next_link
|
20
21
|
|
21
|
-
#
|
22
|
-
# Gets the rest of the items for the request, enabling auto-pagination.
|
23
|
-
#
|
24
|
-
# @return [Array<Vault>] operation results.
|
25
|
-
#
|
26
|
-
def get_all_items
|
27
|
-
items = @value
|
28
|
-
page = self
|
29
|
-
while page.null != nil do
|
30
|
-
page = page.get_next_page
|
31
|
-
items.concat(page.value)
|
32
|
-
end
|
33
|
-
items
|
34
|
-
end
|
35
|
-
|
36
|
-
#
|
37
|
-
# Gets the next page of results.
|
38
|
-
#
|
39
|
-
# @return [VaultList] with next page content.
|
40
|
-
#
|
41
|
-
def get_next_page
|
42
|
-
response = @next_method.call(@null).value! unless @next_method.nil?
|
43
|
-
unless response.nil?
|
44
|
-
@null = response.body.null
|
45
|
-
@value = response.body.value
|
46
|
-
self
|
47
|
-
end
|
48
|
-
end
|
49
22
|
|
50
23
|
#
|
51
24
|
# Mapper for VaultList class as Ruby Hash.
|
@@ -73,6 +46,14 @@ module Azure::ARM::RecoveryServices
|
|
73
46
|
}
|
74
47
|
}
|
75
48
|
}
|
49
|
+
},
|
50
|
+
next_link: {
|
51
|
+
required: false,
|
52
|
+
read_only: true,
|
53
|
+
serialized_name: 'nextLink',
|
54
|
+
type: {
|
55
|
+
name: 'String'
|
56
|
+
}
|
76
57
|
}
|
77
58
|
}
|
78
59
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
# Code generated by Microsoft (R) AutoRest Code Generator 1.
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
|
3
3
|
# Changes may cause incorrect behavior and will be lost if the code is
|
4
4
|
# regenerated.
|
5
5
|
|
@@ -12,9 +12,13 @@ module Azure::ARM::RecoveryServices
|
|
12
12
|
|
13
13
|
include MsRestAzure
|
14
14
|
|
15
|
+
include MsRest::JSONable
|
15
16
|
# @return [String] Provisioning State.
|
16
17
|
attr_accessor :provisioning_state
|
17
18
|
|
19
|
+
# @return [UpgradeDetails]
|
20
|
+
attr_accessor :upgrade_details
|
21
|
+
|
18
22
|
|
19
23
|
#
|
20
24
|
# Mapper for VaultProperties class as Ruby Hash.
|
@@ -35,6 +39,14 @@ module Azure::ARM::RecoveryServices
|
|
35
39
|
type: {
|
36
40
|
name: 'String'
|
37
41
|
}
|
42
|
+
},
|
43
|
+
upgrade_details: {
|
44
|
+
required: false,
|
45
|
+
serialized_name: 'upgradeDetails',
|
46
|
+
type: {
|
47
|
+
name: 'Composite',
|
48
|
+
class_name: 'UpgradeDetails'
|
49
|
+
}
|
38
50
|
}
|
39
51
|
}
|
40
52
|
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::RecoveryServices
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# Defines values for VaultUpgradeState
|
10
|
+
#
|
11
|
+
module VaultUpgradeState
|
12
|
+
Unknown = "Unknown"
|
13
|
+
InProgress = "InProgress"
|
14
|
+
Upgraded = "Upgraded"
|
15
|
+
Failed = "Failed"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::RecoveryServices
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# Usages of a vault.
|
10
|
+
#
|
11
|
+
class VaultUsage
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
include MsRest::JSONable
|
16
|
+
# @return [UsagesUnit] Unit of the usage. Possible values include:
|
17
|
+
# 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond',
|
18
|
+
# 'BytesPerSecond'
|
19
|
+
attr_accessor :unit
|
20
|
+
|
21
|
+
# @return [String] Quota period of usage.
|
22
|
+
attr_accessor :quota_period
|
23
|
+
|
24
|
+
# @return [DateTime] Next reset time of usage.
|
25
|
+
attr_accessor :next_reset_time
|
26
|
+
|
27
|
+
# @return [Integer] Current value of usage.
|
28
|
+
attr_accessor :current_value
|
29
|
+
|
30
|
+
# @return [Integer] Limit of usage.
|
31
|
+
attr_accessor :limit
|
32
|
+
|
33
|
+
# @return [NameInfo] Name of usage.
|
34
|
+
attr_accessor :name
|
35
|
+
|
36
|
+
|
37
|
+
#
|
38
|
+
# Mapper for VaultUsage class as Ruby Hash.
|
39
|
+
# This will be used for serialization/deserialization.
|
40
|
+
#
|
41
|
+
def self.mapper()
|
42
|
+
{
|
43
|
+
required: false,
|
44
|
+
serialized_name: 'VaultUsage',
|
45
|
+
type: {
|
46
|
+
name: 'Composite',
|
47
|
+
class_name: 'VaultUsage',
|
48
|
+
model_properties: {
|
49
|
+
unit: {
|
50
|
+
required: false,
|
51
|
+
serialized_name: 'unit',
|
52
|
+
type: {
|
53
|
+
name: 'String'
|
54
|
+
}
|
55
|
+
},
|
56
|
+
quota_period: {
|
57
|
+
required: false,
|
58
|
+
serialized_name: 'quotaPeriod',
|
59
|
+
type: {
|
60
|
+
name: 'String'
|
61
|
+
}
|
62
|
+
},
|
63
|
+
next_reset_time: {
|
64
|
+
required: false,
|
65
|
+
serialized_name: 'nextResetTime',
|
66
|
+
type: {
|
67
|
+
name: 'DateTime'
|
68
|
+
}
|
69
|
+
},
|
70
|
+
current_value: {
|
71
|
+
required: false,
|
72
|
+
serialized_name: 'currentValue',
|
73
|
+
type: {
|
74
|
+
name: 'Number'
|
75
|
+
}
|
76
|
+
},
|
77
|
+
limit: {
|
78
|
+
required: false,
|
79
|
+
serialized_name: 'limit',
|
80
|
+
type: {
|
81
|
+
name: 'Number'
|
82
|
+
}
|
83
|
+
},
|
84
|
+
name: {
|
85
|
+
required: false,
|
86
|
+
serialized_name: 'name',
|
87
|
+
type: {
|
88
|
+
name: 'Composite',
|
89
|
+
class_name: 'NameInfo'
|
90
|
+
}
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
}
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|