Feed aggregator

Webcast: "Build, Deploy and Manage Smartphone Apps for EBS"

Steven Chan - Mon, 2017-03-13 02:05

Build EBS smartphone appsOracle University has a wealth of free webcasts for Oracle E-Business Suite.  If you're looking for a primer on how to build your own mobile apps for EBS, see:

Vijay Shanmugam, Director Product Development, explains the technologies and approach used to build Oracle's smartphone applications for Oracle E-Business Suite. You will learn how to deploy and manage iOS and Android mobile applications from application stores, how to use enterprise deployment to distribute controlled versions of the mobile applications within your organization and how to use a combination of Oracle E-Business Suite Mobile Foundation, Oracle E-Business Suite REST services and Oracle Mobile Application Framework (MAF) to develop custom smartphone applications for Oracle E-Business Suite to meet your needs. This material was presented at Oracle OpenWorld 2016.

Categories: APPS Blogs

Building an FMW Cluster using Docker (Part III Running Docker Containers)

Antony Reynolds - Mon, 2017-03-13 01:02

Click here for a Google Docs version of this document that doesn't suffer from the Oracle blog formatting problems

@import

url('https://themes.googleusercontent.com/fonts/css?kit=soJ-z33zIWP9ip4SlSLqmawpPKmPqgwAG3potzd-b6hLxa5kJlTvGyssufwSrkOWWWXuzMD-CMEVHDC2H45HXw')

;.lst-kix_sholqrhc62dh-7>li:before {

content: "\0025cb "}.lst-kix_sholqrhc62dh-8>li:before {

content: "\0025a0 "}.lst-kix_sholqrhc62dh-6>li:before {

content: "\0025cf "}ol.lst-kix_vf0l197cqv6l-2.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-2 0}ol.lst-kix_xv318blpjdo-3.start {

counter-reset: lst-ctn-kix_xv318blpjdo-3 0}.lst-kix_sholqrhc62dh-1>li:before {

content: "\0025cb "}.lst-kix_vf0l197cqv6l-2>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-2, lower-roman) ". "}.lst-kix_sholqrhc62dh-0>li:before {

content: "\0025cf "}.lst-kix_emhp84jkv42c-3>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-3}.lst-kix_ekmayt81kvbz-0>li:before {

content: "\0025cf "}.lst-kix_vf0l197cqv6l-1>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-4>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-4}.lst-kix_ekmayt81kvbz-2>li:before {

content: "\0025a0 "}ul.lst-kix_qeqyxe7gm97l-6 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-5 {

list-style-type: none}.lst-kix_ekmayt81kvbz-1>li:before {

content: "\0025cb "}ul.lst-kix_qeqyxe7gm97l-4 {

list-style-type: none}.lst-kix_ekmayt81kvbz-3>li:before {

content: "\0025cf "}ul.lst-kix_qeqyxe7gm97l-3 {

list-style-type: none}.lst-kix_vf0l197cqv6l-0>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-0, decimal) ". "}ul.lst-kix_qeqyxe7gm97l-2 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-1 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-0 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-8.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-8 0}.lst-kix_ekmayt81kvbz-5>li:before {

content: "\0025a0 "}.lst-kix_ekmayt81kvbz-7>li:before {

content: "\0025cb "}ul.lst-kix_4m04az9jmmj8-3 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-2 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-8 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-1 {

list-style-type: none}.lst-kix_ekmayt81kvbz-4>li:before {

content: "\0025cb "}.lst-kix_ekmayt81kvbz-8>li:before {

content: "\0025a0 "}ul.lst-kix_qeqyxe7gm97l-7 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-0 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-7 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-6 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-5 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-4 {

list-style-type: none}.lst-kix_ekmayt81kvbz-6>li:before {

content: "\0025cf "}ul.lst-kix_4m04az9jmmj8-8 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-2>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-2}.lst-kix_11a9ub9xa97v-0>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-0}ol.lst-kix_emhp84jkv42c-4.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-4 0}ol.lst-kix_xv318blpjdo-8.start {

counter-reset: lst-ctn-kix_xv318blpjdo-8 0}ul.lst-kix_6ril5iwt0fcl-5 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-8>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-8}ul.lst-kix_6ril5iwt0fcl-4 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-3 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-2 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-8 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-7 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-6 {

list-style-type: none}.lst-kix_vf0l197cqv6l-6>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-6}.lst-kix_vf0l197cqv6l-4>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-4, lower-latin) ". "}ol.lst-kix_s3mi7ukxwiwf-8.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-8 0}.lst-kix_vf0l197cqv6l-3>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-3, decimal) ". "}.lst-kix_vf0l197cqv6l-5>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-5, lower-roman) ". "}.lst-kix_vf0l197cqv6l-6>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-6, decimal) ". "}ul.lst-kix_6ril5iwt0fcl-1 {

list-style-type: none}.lst-kix_vf0l197cqv6l-8>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-8, lower-roman) ". "}ul.lst-kix_6ril5iwt0fcl-0 {

list-style-type: none}.lst-kix_xv318blpjdo-1>li {

counter-increment: lst-ctn-kix_xv318blpjdo-1}.lst-kix_vf0l197cqv6l-7>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-7, lower-latin) ". "}.lst-kix_bfzyeb917dp8-6>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-6}ol.lst-kix_yly1729bcywk-0 {

list-style-type: none}ol.lst-kix_yly1729bcywk-1 {

list-style-type: none}ol.lst-kix_yly1729bcywk-6.start {

counter-reset: lst-ctn-kix_yly1729bcywk-6 0}ol.lst-kix_yly1729bcywk-4 {

list-style-type: none}ol.lst-kix_yly1729bcywk-5 {

list-style-type: none}ol.lst-kix_yly1729bcywk-2 {

list-style-type: none}ol.lst-kix_yly1729bcywk-3 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-1>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-1, lower-latin) ". "}ol.lst-kix_yly1729bcywk-8 {

list-style-type: none}ul.lst-kix_hchtl271h88l-3 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-0.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-0 0}ul.lst-kix_hchtl271h88l-2 {

list-style-type: none}ol.lst-kix_yly1729bcywk-6 {

list-style-type: none}ul.lst-kix_hchtl271h88l-5 {

list-style-type: none}ol.lst-kix_yly1729bcywk-7 {

list-style-type: none}ul.lst-kix_hchtl271h88l-4 {

list-style-type: none}.lst-kix_gfromclascha-0>li:before {

content: "\0025cf "}ul.lst-kix_hchtl271h88l-1 {

list-style-type: none}ul.lst-kix_hchtl271h88l-0 {

list-style-type: none}.lst-kix_gfromclascha-2>li:before {

content: "\0025a0 "}.lst-kix_gfromclascha-4>li:before {

content: "\0025cb "}ul.lst-kix_hchtl271h88l-7 {

list-style-type: none}ul.lst-kix_hchtl271h88l-6 {

list-style-type: none}ul.lst-kix_hchtl271h88l-8 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-7.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-7 0}.lst-kix_6ril5iwt0fcl-0>li:before {

content: "\0025cf "}.lst-kix_gfromclascha-6>li:before {

content: "\0025cf "}.lst-kix_q97rvvc7c69e-5>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-7>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-8.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-8 0}.lst-kix_6ril5iwt0fcl-2>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-3>li:before {

content: "\0025cf "}.lst-kix_s3mi7ukxwiwf-7>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-7, lower-latin) ". "}.lst-kix_6ril5iwt0fcl-4>li:before {

content: "\0025cb "}.lst-kix_6ril5iwt0fcl-6>li:before {

content: "\0025cf "}.lst-kix_xv318blpjdo-8>li {

counter-increment: lst-ctn-kix_xv318blpjdo-8}.lst-kix_s3mi7ukxwiwf-5>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-5, lower-roman) ". "}.lst-kix_6ril5iwt0fcl-8>li:before {

content: "\0025a0 "}.lst-kix_s3mi7ukxwiwf-3>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-3, decimal) ". "}.lst-kix_ne7nl4nhpzqr-0>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-0}.lst-kix_ne7nl4nhpzqr-7>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-7}.lst-kix_vf0l197cqv6l-5>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-5}ol.lst-kix_jj5w63toozfm-7.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-7 0}.lst-kix_1wulu3ra2vwv-4>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-4, decimal) ") "}.lst-kix_yly1729bcywk-3>li {

counter-increment: lst-ctn-kix_yly1729bcywk-3}.lst-kix_hchtl271h88l-5>li:before {

content: "\0025a0 "}.lst-kix_1wulu3ra2vwv-6>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-6, lower-roman) ") "}.lst-kix_yly1729bcywk-4>li {

counter-increment: lst-ctn-kix_yly1729bcywk-4}.lst-kix_hchtl271h88l-7>li:before {

content: "\0025cb "}.lst-kix_1wulu3ra2vwv-8>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-8, lower-roman) ") "}.lst-kix_gfromclascha-8>li:before {

content: "\0025a0 "}.lst-kix_hchtl271h88l-3>li:before {

content: "\0025cf "}.lst-kix_sholqrhc62dh-2>li:before {

content: "\0025a0 "}ul.lst-kix_9jxnjym0nges-0 {

list-style-type: none}.lst-kix_hchtl271h88l-1>li:before {

content: "\0025cb "}.lst-kix_sholqrhc62dh-4>li:before {

content: "\0025cb "}.lst-kix_1wulu3ra2vwv-2>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-2, decimal) ". "}.lst-kix_1wulu3ra2vwv-0>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-0, upper-roman) ". "}ol.lst-kix_11a9ub9xa97v-3.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-3 0}.lst-kix_emhp84jkv42c-2>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-2}ol.lst-kix_s3mi7ukxwiwf-4.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-4 0}ul.lst-kix_h0kibz3smj6t-8 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-7.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-7 0}.lst-kix_jkgkf1u9sy0c-2>li:before {

content: "\0025a0 "}.lst-kix_f5kb4hocu5hh-2>li:before {

content: "\0025a0 "}.lst-kix_jkgkf1u9sy0c-1>li:before {

content: "\0025cb "}.lst-kix_f5kb4hocu5hh-6>li:before {

content: "\0025cf "}ul.lst-kix_iv2x96orjh4l-2 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-1.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-1 0}ul.lst-kix_iv2x96orjh4l-3 {

list-style-type: none}.lst-kix_f5kb4hocu5hh-5>li:before {

content: "\0025a0 "}ul.lst-kix_iv2x96orjh4l-0 {

list-style-type: none}.lst-kix_jj5w63toozfm-3>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-3}ul.lst-kix_iv2x96orjh4l-1 {

list-style-type: none}ul.lst-kix_iv2x96orjh4l-6 {

list-style-type: none}ul.lst-kix_iv2x96orjh4l-7 {

list-style-type: none}.lst-kix_ne7nl4nhpzqr-6>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-6}ul.lst-kix_iv2x96orjh4l-4 {

list-style-type: none}ul.lst-kix_iv2x96orjh4l-5 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-3 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-2 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-1 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-5>li:before {

content: "\0025a0 "}ul.lst-kix_h0kibz3smj6t-0 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-2.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-2 0}ul.lst-kix_h0kibz3smj6t-7 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-6 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-5 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-6>li:before {

content: "\0025cf "}ul.lst-kix_h0kibz3smj6t-4 {

list-style-type: none}.lst-kix_emhp84jkv42c-4>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-4}ul.lst-kix_iv2x96orjh4l-8 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-3.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-3 0}.lst-kix_b7256qmdgo85-3>li:before {

content: "\0025cf "}.lst-kix_b7256qmdgo85-4>li:before {

content: "\0025cb "}.lst-kix_b7256qmdgo85-7>li:before {

content: "\0025cb "}ol.lst-kix_jj5w63toozfm-3.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-3 0}.lst-kix_q97rvvc7c69e-2>li:before {

content: "\0025a0 "}.lst-kix_b7256qmdgo85-8>li:before {

content: "\0025a0 "}ol.lst-kix_bfzyeb917dp8-2.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-2 0}ol.lst-kix_1wulu3ra2vwv-6.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-6 0}ol.lst-kix_yly1729bcywk-7.start {

counter-reset: lst-ctn-kix_yly1729bcywk-7 0}.lst-kix_jj5w63toozfm-5>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-5}.lst-kix_s3mi7ukxwiwf-0>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-0, decimal) ". "}ul.lst-kix_q97rvvc7c69e-4 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-3 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-6 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-6.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-6 0}.lst-kix_s3mi7ukxwiwf-8>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-8, lower-roman) ". "}ul.lst-kix_q97rvvc7c69e-5 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-8 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-7 {

list-style-type: none}.lst-kix_gfromclascha-3>li:before {

content: "\0025cf "}ul.lst-kix_q97rvvc7c69e-0 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-2 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-1 {

list-style-type: none}.lst-kix_yly1729bcywk-3>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-3, decimal) ". "}.lst-kix_q97rvvc7c69e-6>li:before {

content: "\0025cf "}.lst-kix_6ril5iwt0fcl-1>li:before {

content: "\0025cb "}.lst-kix_iv2x96orjh4l-6>li:before {

content: "\0025cf "}.lst-kix_yly1729bcywk-7>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-7, lower-latin) ". "}ol.lst-kix_s3mi7ukxwiwf-3.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-3 0}.lst-kix_6ril5iwt0fcl-5>li:before {

content: "\0025a0 "}.lst-kix_iv2x96orjh4l-2>li:before {

content: "\0025a0 "}.lst-kix_q8ok0mh9yyto-1>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-1}.lst-kix_s3mi7ukxwiwf-4>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-4, lower-latin) ". "}.lst-kix_5anu1k9tsyak-2>li:before {

content: "\0025a0 "}.lst-kix_b7256qmdgo85-0>li:before {

content: "\0025cf "}ul.lst-kix_vf0l197cqv6l-1 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-3>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-3, lower-latin) ") "}.lst-kix_xoos54gyybzj-5>li:before {

content: "\0025a0 "}ol.lst-kix_ne7nl4nhpzqr-5.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-5 0}ol.lst-kix_vf0l197cqv6l-7.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-7 0}.lst-kix_11a9ub9xa97v-7>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-7}.lst-kix_1wulu3ra2vwv-7>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-7, lower-latin) ") "}.lst-kix_xoos54gyybzj-1>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-2 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-3 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-0 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-1 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-6 {

list-style-type: none}.lst-kix_hchtl271h88l-8>li:before {

content: "\0025a0 "}ol.lst-kix_ne7nl4nhpzqr-7 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-4 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-5 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-8 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-6>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-6}.lst-kix_gfromclascha-7>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-6.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-6 0}ul.lst-kix_pcjo479wrta-0 {

list-style-type: none}.lst-kix_86hsx13ssqid-5>li:before {

content: "\0025a0 "}ul.lst-kix_pcjo479wrta-2 {

list-style-type: none}ul.lst-kix_pcjo479wrta-1 {

list-style-type: none}ul.lst-kix_pcjo479wrta-4 {

list-style-type: none}.lst-kix_hchtl271h88l-4>li:before {

content: "\0025cb "}ul.lst-kix_pcjo479wrta-3 {

list-style-type: none}ul.lst-kix_pcjo479wrta-6 {

list-style-type: none}ul.lst-kix_pcjo479wrta-5 {

list-style-type: none}ul.lst-kix_pcjo479wrta-8 {

list-style-type: none}ul.lst-kix_pcjo479wrta-7 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-8.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-8 0}.lst-kix_hchtl271h88l-0>li:before {

content: "\0025cf "}.lst-kix_86hsx13ssqid-1>li:before {

content: "\0025cb "}.lst-kix_sholqrhc62dh-5>li:before {

content: "\0025a0 "}.lst-kix_7tib3jrzu2u9-0>li:before {

content: "\0025cf "}.lst-kix_7tib3jrzu2u9-5>li:before {

content: "\0025a0 "}.lst-kix_7tib3jrzu2u9-2>li:before {

content: "\0025a0 "}.lst-kix_7tib3jrzu2u9-3>li:before {

content: "\0025cf "}ul.lst-kix_ndaonzmgp8vn-4 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-3 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-6 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-5 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-0 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-2 {

list-style-type: none}.lst-kix_bfzyeb917dp8-4>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-4}ul.lst-kix_ndaonzmgp8vn-1 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-8>li:before {

content: "\0025a0 "}ul.lst-kix_sholqrhc62dh-6 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-5 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-4 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-3 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-8 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-7 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-2 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-6.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-6 0}ul.lst-kix_sholqrhc62dh-1 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-0 {

list-style-type: none}.lst-kix_emhp84jkv42c-1>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-1}ul.lst-kix_ndaonzmgp8vn-8 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-7 {

list-style-type: none}.lst-kix_j42a5dwgnqyq-8>li:before {

content: "\0025a0 "}.lst-kix_5anu1k9tsyak-6>li:before {

content: "\0025cf "}ol.lst-kix_bfzyeb917dp8-1.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-1 0}.lst-kix_j42a5dwgnqyq-7>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-7>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-8>li:before {

content: "\0025a0 "}.lst-kix_5anu1k9tsyak-8>li:before {

content: "\0025a0 "}ol.lst-kix_s3mi7ukxwiwf-2.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-2 0}.lst-kix_yly1729bcywk-5>li {

counter-increment: lst-ctn-kix_yly1729bcywk-5}ul.lst-kix_686a8e4qhxwx-4 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-3 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-2 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-1 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-8 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-7 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-6 {

list-style-type: none}.lst-kix_6qnkx7t1adn9-0>li:before {

content: "\0025cf "}.lst-kix_qeqyxe7gm97l-0>li:before {

content: "\0025cf "}ul.lst-kix_686a8e4qhxwx-5 {

list-style-type: none}.lst-kix_6qnkx7t1adn9-1>li:before {

content: "\0025cb "}.lst-kix_6qnkx7t1adn9-3>li:before {

content: "\0025cf "}ul.lst-kix_686a8e4qhxwx-0 {

list-style-type: none}.lst-kix_bfzyeb917dp8-0>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-0}.lst-kix_qeqyxe7gm97l-5>li:before {

content: "\0025a0 "}.lst-kix_j42a5dwgnqyq-0>li:before {

content: "\0025cf "}.lst-kix_j42a5dwgnqyq-2>li:before {

content: "\0025a0 "}.lst-kix_j42a5dwgnqyq-5>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-3.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-3 0}.lst-kix_qeqyxe7gm97l-2>li:before {

content: "\0025a0 "}.lst-kix_emhp84jkv42c-8>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-8}ol.lst-kix_s3mi7ukxwiwf-0.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-0 0}.lst-kix_86hsx13ssqid-8>li:before {

content: "\0025a0 "}ol.lst-kix_vf0l197cqv6l-6 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-4 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-7 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-5 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-3.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-3 0}ol.lst-kix_vf0l197cqv6l-4 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-6 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-5 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-7 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-8 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-0>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-0}ol.lst-kix_vf0l197cqv6l-8 {

list-style-type: none}.lst-kix_yly1729bcywk-2>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-2, lower-roman) ". "}.lst-kix_fd1rucpc9vz2-5>li:before {

content: "\0025a0 "}.lst-kix_fd1rucpc9vz2-7>li:before {

content: "\0025cb "}ol.lst-kix_vf0l197cqv6l-2 {

list-style-type: none}.lst-kix_pcjo479wrta-5>li:before {

content: "\0025a0 "}.lst-kix_iv2x96orjh4l-5>li:before {

content: "\0025a0 "}ul.lst-kix_xoos54gyybzj-0 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-3 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-1 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-0 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-2 {

list-style-type: none}.lst-kix_yly1729bcywk-0>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-0, decimal) ". "}.lst-kix_yly1729bcywk-8>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-8, lower-roman) ". "}ul.lst-kix_xoos54gyybzj-3 {

list-style-type: none}.lst-kix_iv2x96orjh4l-3>li:before {

content: "\0025cf "}.lst-kix_5anu1k9tsyak-3>li:before {

content: "\0025cf "}.lst-kix_5anu1k9tsyak-5>li:before {

content: "\0025a0 "}.lst-kix_1wulu3ra2vwv-8>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-8}ol.lst-kix_q8ok0mh9yyto-6 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-5 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-4 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-3 {

list-style-type: none}.lst-kix_9jxnjym0nges-0>li:before {

content: "\0025cf "}ol.lst-kix_q8ok0mh9yyto-8 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-7 {

list-style-type: none}.lst-kix_xoos54gyybzj-8>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-0.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-0 0}.lst-kix_opi66v2qdsjs-8>li:before {

content: "\0025a0 "}.lst-kix_ndaonzmgp8vn-4>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-2 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-1 {

list-style-type: none}.lst-kix_9jxnjym0nges-2>li:before {

content: "\0025a0 "}ol.lst-kix_q8ok0mh9yyto-0 {

list-style-type: none}.lst-kix_xoos54gyybzj-6>li:before {

content: "\0025cf "}.lst-kix_ndaonzmgp8vn-2>li:before {

content: "\0025a0 "}.lst-kix_opi66v2qdsjs-2>li:before {

content: "\0025a0 "}.lst-kix_11a9ub9xa97v-0>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-0, upper-roman) ". "}ol.lst-kix_bfzyeb917dp8-4.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-4 0}.lst-kix_q8ok0mh9yyto-3>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-3}.lst-kix_xoos54gyybzj-0>li:before {

content: "\0025cf "}.lst-kix_11a9ub9xa97v-8>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-8, lower-roman) ") "}.lst-kix_86hsx13ssqid-0>li:before {

content: "\0025cf "}.lst-kix_86hsx13ssqid-6>li:before {

content: "\0025cf "}.lst-kix_9jxnjym0nges-8>li:before {

content: "\0025a0 "}.lst-kix_11a9ub9xa97v-6>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-6, lower-roman) ") "}ul.lst-kix_9jxnjym0nges-2 {

list-style-type: none}.lst-kix_xv318blpjdo-2>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-2, decimal) ". "}ul.lst-kix_9jxnjym0nges-1 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-4 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-3 {

list-style-type: none}.lst-kix_h0kibz3smj6t-5>li:before {

content: "\0025a0 "}ul.lst-kix_9jxnjym0nges-6 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-5 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-8 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-7 {

list-style-type: none}.lst-kix_xv318blpjdo-2>li {

counter-increment: lst-ctn-kix_xv318blpjdo-2}.lst-kix_f5kb4hocu5hh-3>li:before {

content: "\0025cf "}.lst-kix_s3mi7ukxwiwf-3>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-3}.lst-kix_bfzyeb917dp8-7>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-7}.lst-kix_f5kb4hocu5hh-8>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-1.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-1 0}.lst-kix_jkgkf1u9sy0c-4>li:before {

content: "\0025cb "}ol.lst-kix_jj5w63toozfm-3 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-4 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-5 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-7>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-7>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-7, lower-latin) ") "}.lst-kix_686a8e4qhxwx-5>li:before {

content: "\0025a0 "}ol.lst-kix_jj5w63toozfm-6 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-7 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-8 {

list-style-type: none}.lst-kix_h0kibz3smj6t-2>li:before {

content: "\0025a0 "}.lst-kix_q8ok0mh9yyto-7>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-7}ol.lst-kix_jj5w63toozfm-0 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-1 {

list-style-type: none}.lst-kix_686a8e4qhxwx-2>li:before {

content: "\0025a0 "}ol.lst-kix_jj5w63toozfm-2 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-3 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-8.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-8 0}ol.lst-kix_11a9ub9xa97v-2 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-1 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-0 {

list-style-type: none}.lst-kix_b7256qmdgo85-2>li:before {

content: "\0025a0 "}ol.lst-kix_11a9ub9xa97v-8 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-7 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-6 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-5 {

list-style-type: none}.lst-kix_4m04az9jmmj8-7>li:before {

content: "\0025cb "}ol.lst-kix_11a9ub9xa97v-4 {

list-style-type: none}.lst-kix_b7256qmdgo85-5>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-1>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-2>li {

counter-increment: lst-ctn-kix_yly1729bcywk-2}.lst-kix_q8ok0mh9yyto-5>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-5, lower-latin) ") "}.lst-kix_4m04az9jmmj8-4>li:before {

content: "\0025cb "}.lst-kix_bfzyeb917dp8-3>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-3}.lst-kix_ne7nl4nhpzqr-7>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-7, lower-latin) ". "}.lst-kix_q8ok0mh9yyto-8>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-8, lower-roman) ") "}ol.lst-kix_bfzyeb917dp8-5 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-4 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-3 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-2 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-8 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-7 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-6 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-1 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-0 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-5.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-5 0}.lst-kix_q8ok0mh9yyto-0>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-0}.lst-kix_l7z426mwssm0-3>li:before {

content: "\0025cf "}.lst-kix_iv2x96orjh4l-8>li:before {

content: "\0025a0 "}.lst-kix_6qnkx7t1adn9-6>li:before {

content: "\0025cf "}.lst-kix_gfromclascha-5>li:before {

content: "\0025a0 "}.lst-kix_pcjo479wrta-2>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-8.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-8 0}.lst-kix_11a9ub9xa97v-8>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-8}.lst-kix_x1epm4iu41dp-5>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-4>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-5>li {

counter-increment: lst-ctn-kix_xv318blpjdo-5}.lst-kix_1wulu3ra2vwv-5>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-5}.lst-kix_5anu1k9tsyak-0>li:before {

content: "\0025cf "}.lst-kix_fy6y7gyjejoh-4>li:before {

content: "\0025cb "}.lst-kix_ndaonzmgp8vn-7>li:before {

content: "\0025cb "}.lst-kix_iv2x96orjh4l-0>li:before {

content: "\0025cf "}.lst-kix_yly1729bcywk-5>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-5, lower-roman) ". "}.lst-kix_s3mi7ukxwiwf-2>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-2, lower-roman) ". "}.lst-kix_6ril5iwt0fcl-7>li:before {

content: "\0025cb "}.lst-kix_emhp84jkv42c-4>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-4, decimal) ") "}.lst-kix_emhp84jkv42c-5>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-5}.lst-kix_jj5w63toozfm-4>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-4, lower-latin) ". "}.lst-kix_1wulu3ra2vwv-5>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-5, lower-latin) ") "}ul.lst-kix_u0uqs69v9qbh-8 {

list-style-type: none}.lst-kix_xoos54gyybzj-3>li:before {

content: "\0025cf "}.lst-kix_11a9ub9xa97v-1>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-1}ul.lst-kix_u0uqs69v9qbh-4 {

list-style-type: none}.lst-kix_hchtl271h88l-6>li:before {

content: "\0025cf "}ul.lst-kix_u0uqs69v9qbh-5 {

list-style-type: none}.lst-kix_opi66v2qdsjs-5>li:before {

content: "\0025a0 "}.lst-kix_lemcawe54w5c-5>li:before {

content: "\0025a0 "}ul.lst-kix_u0uqs69v9qbh-6 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-7 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-0 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-6 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-1 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-5 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-2 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-8 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-3 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-7 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-7.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-7 0}.lst-kix_fd1rucpc9vz2-2>li:before {

content: "\0025a0 "}ul.lst-kix_jkgkf1u9sy0c-4 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-5 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-6 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-0 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-7 {

list-style-type: none}.lst-kix_bfzyeb917dp8-2>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-2, decimal) ". "}.lst-kix_gyhqddkw9i05-1>li:before {

content: "\0025cb "}ul.lst-kix_jkgkf1u9sy0c-8 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-2 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-1 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-4 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-3 {

list-style-type: none}.lst-kix_11a9ub9xa97v-3>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-3, lower-latin) ") "}ol.lst-kix_emhp84jkv42c-6.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-6 0}.lst-kix_8p26nc4xx5n8-1>li:before {

content: "\0025cb "}.lst-kix_u0uqs69v9qbh-5>li:before {

content: "\0025a0 "}.lst-kix_f5kb4hocu5hh-0>li:before {

content: "\0025cf "}.lst-kix_9jxnjym0nges-5>li:before {

content: "\0025a0 "}.lst-kix_86hsx13ssqid-3>li:before {

content: "\0025cf "}ul.lst-kix_jkgkf1u9sy0c-0 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-1 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-2 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-3 {

list-style-type: none}.lst-kix_vf0l197cqv6l-2>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-2}ol.lst-kix_jj5w63toozfm-5.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-5 0}ul.lst-kix_bijol4nzhwf0-8 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-0 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-2 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-1 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-4 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-3 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-6 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-5 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-8 {

list-style-type: none}.lst-kix_yly1729bcywk-7>li {

counter-increment: lst-ctn-kix_yly1729bcywk-7}ol.lst-kix_emhp84jkv42c-7 {

list-style-type: none}.lst-kix_11a9ub9xa97v-4>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-4}.lst-kix_1qz6dmm9b14l-4>li:before {

content: "\0025cb "}.lst-kix_1qz6dmm9b14l-3>li:before {

content: "\0025cf "}.lst-kix_1qz6dmm9b14l-5>li:before {

content: "\0025a0 "}ul.lst-kix_j42a5dwgnqyq-0 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-1 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-2 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-3 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-4 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-5 {

list-style-type: none}.lst-kix_1qz6dmm9b14l-0>li:before {

content: "\0025cf "}.lst-kix_1qz6dmm9b14l-8>li:before {

content: "\0025a0 "}ul.lst-kix_j42a5dwgnqyq-6 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-7 {

list-style-type: none}.lst-kix_1qz6dmm9b14l-1>li:before {

content: "\0025cb "}ol.lst-kix_bfzyeb917dp8-0.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-0 0}ul.lst-kix_j42a5dwgnqyq-8 {

list-style-type: none}.lst-kix_1qz6dmm9b14l-2>li:before {

content: "\0025a0 "}ul.lst-kix_bijol4nzhwf0-4 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-5 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-6 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-7 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-0 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-1 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-2 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-3 {

list-style-type: none}.lst-kix_jj5w63toozfm-3>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-3, decimal) ". "}.lst-kix_1wulu3ra2vwv-2>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-2}.lst-kix_1qz6dmm9b14l-7>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-2>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-2, lower-roman) ". "}.lst-kix_ne7nl4nhpzqr-3>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-3}.lst-kix_q8ok0mh9yyto-4>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-4}.lst-kix_1qz6dmm9b14l-6>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-1>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-1, lower-latin) ". "}.lst-kix_h9mjmxara98n-7>li:before {

content: "\0025cb "}.lst-kix_bijol4nzhwf0-7>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-0>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-0, decimal) ". "}.lst-kix_h9mjmxara98n-6>li:before {

content: "\0025cf "}.lst-kix_h9mjmxara98n-8>li:before {

content: "\0025a0 "}.lst-kix_bijol4nzhwf0-6>li:before {

content: "\0025cf "}.lst-kix_bijol4nzhwf0-8>li:before {

content: "\0025a0 "}.lst-kix_h9mjmxara98n-5>li:before {

content: "\0025a0 "}.lst-kix_bijol4nzhwf0-5>li:before {

content: "\0025a0 "}.lst-kix_h9mjmxara98n-3>li:before {

content: "\0025cf "}.lst-kix_bijol4nzhwf0-3>li:before {

content: "\0025cf "}.lst-kix_h9mjmxara98n-2>li:before {

content: "\0025a0 "}.lst-kix_h9mjmxara98n-4>li:before {

content: "\0025cb "}.lst-kix_bijol4nzhwf0-2>li:before {

content: "\0025a0 "}.lst-kix_bijol4nzhwf0-4>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-1.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-1 0}ol.lst-kix_s3mi7ukxwiwf-1.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-1 0}.lst-kix_h9mjmxara98n-0>li:before {

content: "\0025cf "}.lst-kix_bijol4nzhwf0-0>li:before {

content: "\0025cf "}.lst-kix_h9mjmxara98n-1>li:before {

content: "\0025cb "}.lst-kix_bijol4nzhwf0-1>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-8>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-8}ol.lst-kix_ne7nl4nhpzqr-3.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-3 0}ul.lst-kix_gfromclascha-0 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-2.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-2 0}.lst-kix_l7z426mwssm0-2>li:before {

content: "\0025a0 "}.lst-kix_ne7nl4nhpzqr-4>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-4, lower-latin) ". "}.lst-kix_l7z426mwssm0-0>li:before {

content: "\0025cf "}.lst-kix_l7z426mwssm0-4>li:before {

content: "\0025cb "}ul.lst-kix_gfromclascha-7 {

list-style-type: none}ul.lst-kix_gfromclascha-8 {

list-style-type: none}ul.lst-kix_gfromclascha-5 {

list-style-type: none}.lst-kix_ne7nl4nhpzqr-0>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-0, decimal) ". "}.lst-kix_ne7nl4nhpzqr-2>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-2, lower-roman) ". "}ul.lst-kix_gfromclascha-6 {

list-style-type: none}.lst-kix_x1epm4iu41dp-8>li:before {

content: "\0025a0 "}ul.lst-kix_gfromclascha-3 {

list-style-type: none}ul.lst-kix_gfromclascha-4 {

list-style-type: none}ul.lst-kix_gfromclascha-1 {

list-style-type: none}.lst-kix_bfzyeb917dp8-3>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-3, lower-latin) ") "}ul.lst-kix_gfromclascha-2 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-3 {

list-style-type: none}.lst-kix_x1epm4iu41dp-2>li:before {

content: "\0025a0 "}ol.lst-kix_11a9ub9xa97v-1.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-1 0}ul.lst-kix_opi66v2qdsjs-2 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-1 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-0 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-0>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-0, upper-roman) ". "}.lst-kix_fy6y7gyjejoh-3>li:before {

content: "\0025cf "}.lst-kix_bfzyeb917dp8-5>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-5, lower-latin) ") "}.lst-kix_jj5w63toozfm-0>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-0}.lst-kix_x1epm4iu41dp-6>li:before {

content: "\0025cf "}ul.lst-kix_opi66v2qdsjs-8 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-7 {

list-style-type: none}.lst-kix_x1epm4iu41dp-4>li:before {

content: "\0025cb "}ul.lst-kix_opi66v2qdsjs-6 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-5 {

list-style-type: none}.lst-kix_fy6y7gyjejoh-1>li:before {

content: "\0025cb "}ul.lst-kix_opi66v2qdsjs-4 {

list-style-type: none}.lst-kix_bfzyeb917dp8-7>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-7, lower-latin) ") "}.lst-kix_emhp84jkv42c-7>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-7}.lst-kix_fy6y7gyjejoh-7>li:before {

content: "\0025cb "}ol.lst-kix_xv318blpjdo-1.start {

counter-reset: lst-ctn-kix_xv318blpjdo-1 0}.lst-kix_x1epm4iu41dp-0>li:before {

content: "\0025cf "}ol.lst-kix_vf0l197cqv6l-0.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-0 0}.lst-kix_fy6y7gyjejoh-5>li:before {

content: "\0025a0 "}.lst-kix_emhp84jkv42c-3>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-3, lower-latin) ") "}.lst-kix_emhp84jkv42c-5>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-5, lower-latin) ") "}.lst-kix_lemcawe54w5c-8>li:before {

content: "\0025a0 "}ol.lst-kix_yly1729bcywk-4.start {

counter-reset: lst-ctn-kix_yly1729bcywk-4 0}.lst-kix_emhp84jkv42c-1>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-1, upper-latin) ". "}.lst-kix_emhp84jkv42c-7>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-7, lower-latin) ") "}.lst-kix_lemcawe54w5c-6>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-5>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-5, lower-roman) ". "}.lst-kix_bfzyeb917dp8-2>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-2}ul.lst-kix_1qz6dmm9b14l-6 {

list-style-type: none}.lst-kix_lemcawe54w5c-4>li:before {

content: "\0025cb "}.lst-kix_gyhqddkw9i05-8>li:before {

content: "\0025a0 "}.lst-kix_jj5w63toozfm-7>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-7, lower-latin) ". "}ul.lst-kix_1qz6dmm9b14l-5 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-8 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-7 {

list-style-type: none}.lst-kix_jj5w63toozfm-1>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-1}ul.lst-kix_1qz6dmm9b14l-2 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-1 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-4 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-3 {

list-style-type: none}.lst-kix_u0uqs69v9qbh-0>li:before {

content: "\0025cf "}.lst-kix_u0uqs69v9qbh-4>li:before {

content: "\0025cb "}ul.lst-kix_1qz6dmm9b14l-0 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-6>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-6}.lst-kix_jj5w63toozfm-7>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-7}.lst-kix_lemcawe54w5c-2>li:before {

content: "\0025a0 "}.lst-kix_u0uqs69v9qbh-2>li:before {

content: "\0025a0 "}.lst-kix_8p26nc4xx5n8-6>li:before {

content: "\0025cf "}ol.lst-kix_1wulu3ra2vwv-4.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-4 0}.lst-kix_l7z426mwssm0-8>li:before {

content: "\0025a0 "}.lst-kix_u0uqs69v9qbh-8>li:before {

content: "\0025a0 "}.lst-kix_bfzyeb917dp8-1>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-1, upper-latin) ". "}ul.lst-kix_ekmayt81kvbz-8 {

list-style-type: none}.lst-kix_gyhqddkw9i05-0>li:before {

content: "\0025cf "}ul.lst-kix_ekmayt81kvbz-7 {

list-style-type: none}.lst-kix_gyhqddkw9i05-4>li:before {

content: "\0025cb "}.lst-kix_l7z426mwssm0-6>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-2>li:before {

content: "\0025a0 "}ul.lst-kix_ekmayt81kvbz-6 {

list-style-type: none}ul.lst-kix_ekmayt81kvbz-5 {

list-style-type: none}.lst-kix_lemcawe54w5c-0>li:before {

content: "\0025cf "}ul.lst-kix_ekmayt81kvbz-4 {

list-style-type: none}ul.lst-kix_ekmayt81kvbz-3 {

list-style-type: none}.lst-kix_gyhqddkw9i05-6>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-0>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-8>li:before {

content: "\0025a0 "}ul.lst-kix_ekmayt81kvbz-2 {

list-style-type: none}ul.lst-kix_ekmayt81kvbz-1 {

list-style-type: none}.lst-kix_u0uqs69v9qbh-6>li:before {

content: "\0025cf "}ul.lst-kix_ekmayt81kvbz-0 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-1 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-5.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-5 0}ol.lst-kix_s3mi7ukxwiwf-2 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-0 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-1 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-5 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-2 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-6 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-3 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-0 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-4 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-5 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-6 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-3 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-7 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-4 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-8 {

list-style-type: none}.lst-kix_gyhqddkw9i05-2>li:before {

content: "\0025a0 "}.lst-kix_8p26nc4xx5n8-4>li:before {

content: "\0025cb "}ul.lst-kix_7tib3jrzu2u9-7 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-8 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-7.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-7 0}.lst-kix_yly1729bcywk-6>li {

counter-increment: lst-ctn-kix_yly1729bcywk-6}.lst-kix_xv318blpjdo-1>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-1, upper-latin) ". "}.lst-kix_xv318blpjdo-0>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-0, upper-roman) ". "}.lst-kix_h0kibz3smj6t-4>li:before {

content: "\0025cb "}.lst-kix_ne7nl4nhpzqr-4>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-4}.lst-kix_1wulu3ra2vwv-1>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-1}.lst-kix_h0kibz3smj6t-7>li:before {

content: "\0025cb "}.lst-kix_h0kibz3smj6t-8>li:before {

content: "\0025a0 "}.lst-kix_11a9ub9xa97v-5>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-5}.lst-kix_opi66v2qdsjs-0>li:before {

content: "\0025cf "}.lst-kix_686a8e4qhxwx-7>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-8>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-8, lower-roman) ") "}.lst-kix_xv318blpjdo-5>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-5, lower-latin) ") "}.lst-kix_h0kibz3smj6t-3>li:before {

content: "\0025cf "}.lst-kix_686a8e4qhxwx-3>li:before {

content: "\0025cf "}.lst-kix_686a8e4qhxwx-4>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-4>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-4, decimal) ") "}.lst-kix_h0kibz3smj6t-0>li:before {

content: "\0025cf "}ol.lst-kix_vf0l197cqv6l-4.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-4 0}ol.lst-kix_ne7nl4nhpzqr-2.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-2 0}ol.lst-kix_11a9ub9xa97v-0.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-0 0}.lst-kix_s3mi7ukxwiwf-7>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-7}ul.lst-kix_l7z426mwssm0-1 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-2 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-0 {

list-style-type: none}ol.lst-kix_yly1729bcywk-8.start {

counter-reset: lst-ctn-kix_yly1729bcywk-8 0}.lst-kix_ne7nl4nhpzqr-2>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-2}.lst-kix_q8ok0mh9yyto-3>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-3, lower-latin) ") "}.lst-kix_pcjo479wrta-7>li:before {

content: "\0025cb "}.lst-kix_686a8e4qhxwx-8>li:before {

content: "\0025a0 "}.lst-kix_emhp84jkv42c-6>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-6}ul.lst-kix_l7z426mwssm0-7 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-8 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-2>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-2, decimal) ". "}.lst-kix_pcjo479wrta-8>li:before {

content: "\0025a0 "}ul.lst-kix_l7z426mwssm0-5 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-6 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-3 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-4 {

list-style-type: none}.lst-kix_yly1729bcywk-8>li {

counter-increment: lst-ctn-kix_yly1729bcywk-8}.lst-kix_vf0l197cqv6l-3>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-3}.lst-kix_q8ok0mh9yyto-6>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-6, lower-roman) ") "}.lst-kix_4m04az9jmmj8-2>li:before {

content: "\0025a0 "}.lst-kix_4m04az9jmmj8-6>li:before {

content: "\0025cf "}.lst-kix_q8ok0mh9yyto-7>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-7, lower-latin) ") "}.lst-kix_4m04az9jmmj8-1>li:before {

content: "\0025cb "}.lst-kix_4m04az9jmmj8-5>li:before {

content: "\0025a0 "}ol.lst-kix_vf0l197cqv6l-5.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-5 0}.lst-kix_ne7nl4nhpzqr-8>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-8, lower-roman) ". "}.lst-kix_xv318blpjdo-4>li {

counter-increment: lst-ctn-kix_xv318blpjdo-4}.lst-kix_vf0l197cqv6l-8>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-8}.lst-kix_ne7nl4nhpzqr-5>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-5, lower-roman) ". "}.lst-kix_l7z426mwssm0-1>li:before {

content: "\0025cb "}.lst-kix_x1epm4iu41dp-7>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-1>li {

counter-increment: lst-ctn-kix_yly1729bcywk-1}.lst-kix_6qnkx7t1adn9-4>li:before {

content: "\0025cb "}.lst-kix_6qnkx7t1adn9-8>li:before {

content: "\0025a0 "}.lst-kix_xv318blpjdo-6>li {

counter-increment: lst-ctn-kix_xv318blpjdo-6}ol.lst-kix_jj5w63toozfm-1.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-1 0}.lst-kix_ne7nl4nhpzqr-1>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-1, lower-latin) ". "}.lst-kix_pcjo479wrta-4>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-8.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-8 0}.lst-kix_bfzyeb917dp8-4>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-4, decimal) ") "}.lst-kix_x1epm4iu41dp-3>li:before {

content: "\0025cf "}.lst-kix_fd1rucpc9vz2-8>li:before {

content: "\0025a0 "}.lst-kix_bfzyeb917dp8-8>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-8, lower-roman) ") "}.lst-kix_fy6y7gyjejoh-2>li:before {

content: "\0025a0 "}.lst-kix_fy6y7gyjejoh-6>li:before {

content: "\0025cf "}ol.lst-kix_1wulu3ra2vwv-8.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-8 0}.lst-kix_pcjo479wrta-0>li:before {

content: "\0025cf "}ol.lst-kix_s3mi7ukxwiwf-6.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-6 0}ol.lst-kix_jj5w63toozfm-0.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-0 0}.lst-kix_emhp84jkv42c-2>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-2, decimal) ". "}.lst-kix_emhp84jkv42c-6>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-6, lower-roman) ") "}.lst-kix_686a8e4qhxwx-0>li:before {

content: "\0025cf "}.lst-kix_ndaonzmgp8vn-5>li:before {

content: "\0025a0 "}.lst-kix_9jxnjym0nges-3>li:before {

content: "\0025cf "}.lst-kix_opi66v2qdsjs-7>li:before {

content: "\0025cb "}.lst-kix_lemcawe54w5c-7>li:before {

content: "\0025cb "}.lst-kix_ndaonzmgp8vn-1>li:before {

content: "\0025cb "}.lst-kix_gyhqddkw9i05-7>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-6>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-6, decimal) ". "}.lst-kix_u0uqs69v9qbh-3>li:before {

content: "\0025cf "}.lst-kix_fd1rucpc9vz2-0>li:before {

content: "\0025cf "}.lst-kix_fd1rucpc9vz2-4>li:before {

content: "\0025cb "}ol.lst-kix_s3mi7ukxwiwf-5.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-5 0}.lst-kix_opi66v2qdsjs-3>li:before {

content: "\0025cf "}.lst-kix_lemcawe54w5c-3>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-3>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-7>li:before {

content: "\0025cb "}.lst-kix_l7z426mwssm0-5>li:before {

content: "\0025a0 "}.lst-kix_u0uqs69v9qbh-7>li:before {

content: "\0025cb "}.lst-kix_bfzyeb917dp8-0>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-0, upper-roman) ". "}.lst-kix_11a9ub9xa97v-1>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-1, upper-latin) ". "}.lst-kix_gyhqddkw9i05-3>li:before {

content: "\0025cf "}.lst-kix_9jxnjym0nges-7>li:before {

content: "\0025cb "}.lst-kix_11a9ub9xa97v-5>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-5, lower-latin) ") "}ol.lst-kix_11a9ub9xa97v-2.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-2 0}.lst-kix_s3mi7ukxwiwf-4>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-4}.lst-kix_7tib3jrzu2u9-4>li:before {

content: "\0025cb "}.lst-kix_ne7nl4nhpzqr-5>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-5}ol.lst-kix_xv318blpjdo-4 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-7.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-7 0}ol.lst-kix_xv318blpjdo-5 {

list-style-type: none}ol.lst-kix_xv318blpjdo-6 {

list-style-type: none}ol.lst-kix_xv318blpjdo-7 {

list-style-type: none}ol.lst-kix_xv318blpjdo-0 {

list-style-type: none}ol.lst-kix_xv318blpjdo-1 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-1>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-4.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-4 0}ol.lst-kix_xv318blpjdo-2 {

list-style-type: none}ol.lst-kix_xv318blpjdo-3 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-6>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-6}ul.lst-kix_5anu1k9tsyak-7 {

list-style-type: none}.lst-kix_jj5w63toozfm-6>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-6}ul.lst-kix_5anu1k9tsyak-8 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-5 {

list-style-type: none}ol.lst-kix_yly1729bcywk-5.start {

counter-reset: lst-ctn-kix_yly1729bcywk-5 0}.lst-kix_11a9ub9xa97v-2>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-2}ol.lst-kix_1wulu3ra2vwv-0 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-6 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-1 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-3 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-4 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-1 {

list-style-type: none}.lst-kix_xv318blpjdo-3>li {

counter-increment: lst-ctn-kix_xv318blpjdo-3}ul.lst-kix_5anu1k9tsyak-2 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-6 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-0 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-7 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-8 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-6>li:before {

content: "\0025cf "}ol.lst-kix_xv318blpjdo-8 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-2 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-3 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-7>li:before {

content: "\0025cb "}ol.lst-kix_1wulu3ra2vwv-4 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-5 {

list-style-type: none}.lst-kix_vf0l197cqv6l-4>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-4}ol.lst-kix_1wulu3ra2vwv-5.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-5 0}ol.lst-kix_11a9ub9xa97v-7.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-7 0}ol.lst-kix_q8ok0mh9yyto-2.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-2 0}.lst-kix_11a9ub9xa97v-6>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-6}.lst-kix_5anu1k9tsyak-7>li:before {

content: "\0025cb "}.lst-kix_j42a5dwgnqyq-6>li:before {

content: "\0025cf "}ol.lst-kix_xv318blpjdo-2.start {

counter-reset: lst-ctn-kix_xv318blpjdo-2 0}.lst-kix_1wulu3ra2vwv-4>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-4}.lst-kix_q8ok0mh9yyto-2>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-2}ol.lst-kix_jj5w63toozfm-4.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-4 0}.lst-kix_vf0l197cqv6l-0>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-0}ol.lst-kix_yly1729bcywk-0.start {

counter-reset: lst-ctn-kix_yly1729bcywk-0 0}.lst-kix_6qnkx7t1adn9-2>li:before {

content: "\0025a0 "}.lst-kix_qeqyxe7gm97l-6>li:before {

content: "\0025cf "}.lst-kix_qeqyxe7gm97l-4>li:before {

content: "\0025cb "}.lst-kix_j42a5dwgnqyq-1>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-1>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-3>li:before {

content: "\0025cf "}.lst-kix_j42a5dwgnqyq-4>li:before {

content: "\0025cb "}ol.lst-kix_1wulu3ra2vwv-0.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-0 0}ol.lst-kix_q8ok0mh9yyto-7.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-7 0}.lst-kix_j42a5dwgnqyq-3>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-2>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-2}ol.lst-kix_1wulu3ra2vwv-3.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-3 0}ol.lst-kix_q8ok0mh9yyto-0.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-0 0}.lst-kix_6qnkx7t1adn9-5>li:before {

content: "\0025a0 "}.lst-kix_6qnkx7t1adn9-7>li:before {

content: "\0025cb "}ol.lst-kix_yly1729bcywk-3.start {

counter-reset: lst-ctn-kix_yly1729bcywk-3 0}.lst-kix_iv2x96orjh4l-7>li:before {

content: "\0025cb "}.lst-kix_pcjo479wrta-3>li:before {

content: "\0025cf "}.lst-kix_yly1729bcywk-6>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-6, decimal) ". "}.lst-kix_ndaonzmgp8vn-6>li:before {

content: "\0025cf "}.lst-kix_5anu1k9tsyak-1>li:before {

content: "\0025cb "}.lst-kix_ndaonzmgp8vn-8>li:before {

content: "\0025a0 "}.lst-kix_pcjo479wrta-1>li:before {

content: "\0025cb "}.lst-kix_iv2x96orjh4l-1>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-4>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-4, lower-latin) ". "}.lst-kix_bfzyeb917dp8-8>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-8}.lst-kix_ne7nl4nhpzqr-1>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-1}.lst-kix_opi66v2qdsjs-4>li:before {

content: "\0025cb "}.lst-kix_fd1rucpc9vz2-1>li:before {

content: "\0025cb "}.lst-kix_fd1rucpc9vz2-3>li:before {

content: "\0025cf "}.lst-kix_opi66v2qdsjs-6>li:before {

content: "\0025cf "}ol.lst-kix_11a9ub9xa97v-4.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-4 0}.lst-kix_xoos54gyybzj-4>li:before {

content: "\0025cb "}.lst-kix_bfzyeb917dp8-1>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-1}.lst-kix_ndaonzmgp8vn-0>li:before {

content: "\0025cf "}ol.lst-kix_jj5w63toozfm-6.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-6 0}.lst-kix_xoos54gyybzj-2>li:before {

content: "\0025a0 "}ul.lst-kix_b7256qmdgo85-6 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-7 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-3>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-3}ul.lst-kix_b7256qmdgo85-8 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-2 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-3 {

list-style-type: none}.lst-kix_11a9ub9xa97v-4>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-4, decimal) ") "}ul.lst-kix_b7256qmdgo85-4 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-5 {

list-style-type: none}.lst-kix_f5kb4hocu5hh-1>li:before {

content: "\0025cb "}.lst-kix_11a9ub9xa97v-2>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-2, decimal) ". "}.lst-kix_9jxnjym0nges-4>li:before {

content: "\0025cb "}.lst-kix_86hsx13ssqid-4>li:before {

content: "\0025cb "}ul.lst-kix_b7256qmdgo85-0 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-1 {

list-style-type: none}.lst-kix_9jxnjym0nges-6>li:before {

content: "\0025cf "}.lst-kix_86hsx13ssqid-2>li:before {

content: "\0025a0 "}.lst-kix_bfzyeb917dp8-5>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-5}.lst-kix_h0kibz3smj6t-6>li:before {

content: "\0025cf "}.lst-kix_11a9ub9xa97v-3>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-3}ol.lst-kix_11a9ub9xa97v-5.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-5 0}ul.lst-kix_x1epm4iu41dp-0 {

list-style-type: none}.lst-kix_f5kb4hocu5hh-4>li:before {

content: "\0025cb "}ol.lst-kix_xv318blpjdo-0.start {

counter-reset: lst-ctn-kix_xv318blpjdo-0 0}.lst-kix_jkgkf1u9sy0c-0>li:before {

content: "\0025cf "}.lst-kix_f5kb4hocu5hh-7>li:before {

content: "\0025cb "}ul.lst-kix_x1epm4iu41dp-6 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-5 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-8 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-3>li:before {

content: "\0025cf "}ul.lst-kix_x1epm4iu41dp-7 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-2 {

list-style-type: none}.lst-kix_xv318blpjdo-0>li {

counter-increment: lst-ctn-kix_xv318blpjdo-0}ol.lst-kix_jj5w63toozfm-8.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-8 0}ul.lst-kix_x1epm4iu41dp-1 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-4 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-3 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-2.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-2 0}.lst-kix_686a8e4qhxwx-6>li:before {

content: "\0025cf "}.lst-kix_s3mi7ukxwiwf-5>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-5}.lst-kix_h0kibz3smj6t-1>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-6>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-6, lower-roman) ") "}ul.lst-kix_86hsx13ssqid-3 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-2 {

list-style-type: none}.lst-kix_xv318blpjdo-3>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-3, lower-latin) ") "}ul.lst-kix_86hsx13ssqid-5 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-4 {

list-style-type: none}.lst-kix_686a8e4qhxwx-1>li:before {

content: "\0025cb "}ol.lst-kix_yly1729bcywk-2.start {

counter-reset: lst-ctn-kix_yly1729bcywk-2 0}ul.lst-kix_86hsx13ssqid-1 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-8>li:before {

content: "\0025a0 "}ul.lst-kix_86hsx13ssqid-0 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-0 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-1 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-2 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-3 {

list-style-type: none}.lst-kix_b7256qmdgo85-1>li:before {

content: "\0025cb "}ul.lst-kix_86hsx13ssqid-7 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-0 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-6 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-8 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-3 {

list-style-type: none}.lst-kix_4m04az9jmmj8-8>li:before {

content: "\0025a0 "}ul.lst-kix_fy6y7gyjejoh-8 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-4 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-1 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-2 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-7 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-4 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-8 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-5 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-5 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-6 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-6 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-7 {

list-style-type: none}.lst-kix_b7256qmdgo85-6>li:before {

content: "\0025cf "}ol.lst-kix_yly1729bcywk-1.start {

counter-reset: lst-ctn-kix_yly1729bcywk-1 0}ol.lst-kix_1wulu3ra2vwv-1.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-1 0}.lst-kix_ne7nl4nhpzqr-8>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-8}.lst-kix_q97rvvc7c69e-0>li:before {

content: "\0025cf "}.lst-kix_q8ok0mh9yyto-1>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-1, upper-latin) ". "}.lst-kix_4m04az9jmmj8-0>li:before {

content: "\0025cf "}ol.lst-kix_11a9ub9xa97v-6.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-6 0}.lst-kix_q8ok0mh9yyto-4>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-4, decimal) ") "}.lst-kix_emhp84jkv42c-0>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-0}.lst-kix_q8ok0mh9yyto-5>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-5}ul.lst-kix_lemcawe54w5c-7 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-8 {

list-style-type: none}.lst-kix_ne7nl4nhpzqr-6>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-6, decimal) ". "}ul.lst-kix_lemcawe54w5c-5 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-6 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-3 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-4 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-1 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-2 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-1>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-1}ul.lst-kix_lemcawe54w5c-0 {

list-style-type: none}.lst-kix_4m04az9jmmj8-3>li:before {

content: "\0025cf "}ul.lst-kix_f5kb4hocu5hh-4 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-3 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-6 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-5 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-8 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-7 {

list-style-type: none}.lst-kix_xv318blpjdo-7>li {

counter-increment: lst-ctn-kix_xv318blpjdo-7}ol.lst-kix_xv318blpjdo-7.start {

counter-reset: lst-ctn-kix_xv318blpjdo-7 0}.lst-kix_gfromclascha-1>li:before {

content: "\0025cb "}.lst-kix_86hsx13ssqid-7>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-0>li {

counter-increment: lst-ctn-kix_yly1729bcywk-0}.lst-kix_ne7nl4nhpzqr-3>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-3, decimal) ". "}ol.lst-kix_q8ok0mh9yyto-3.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-3 0}.lst-kix_1wulu3ra2vwv-7>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-7}ul.lst-kix_f5kb4hocu5hh-0 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-2 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-1 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-0 {

list-style-type: none}.lst-kix_fy6y7gyjejoh-0>li:before {

content: "\0025cf "}ul.lst-kix_fd1rucpc9vz2-1 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-2 {

list-style-type: none}.lst-kix_yly1729bcywk-1>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-1, lower-latin) ". "}ul.lst-kix_fd1rucpc9vz2-3 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-6.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-6 0}ul.lst-kix_fd1rucpc9vz2-8 {

list-style-type: none}.lst-kix_pcjo479wrta-6>li:before {

content: "\0025cf "}.lst-kix_bfzyeb917dp8-6>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-6, lower-roman) ") "}.lst-kix_6ril5iwt0fcl-3>li:before {

content: "\0025cf "}ul.lst-kix_fd1rucpc9vz2-4 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-5 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-6 {

list-style-type: none}.lst-kix_fd1rucpc9vz2-6>li:before {

content: "\0025cf "}ul.lst-kix_fd1rucpc9vz2-7 {

list-style-type: none}.lst-kix_5anu1k9tsyak-4>li:before {

content: "\0025cb "}.lst-kix_vf0l197cqv6l-7>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-7}.lst-kix_s3mi7ukxwiwf-8>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-8}.lst-kix_iv2x96orjh4l-4>li:before {

content: "\0025cb "}.lst-kix_s3mi7ukxwiwf-6>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-6, decimal) ". "}.lst-kix_fy6y7gyjejoh-8>li:before {

content: "\0025a0 "}ol.lst-kix_xv318blpjdo-4.start {

counter-reset: lst-ctn-kix_xv318blpjdo-4 0}.lst-kix_x1epm4iu41dp-1>li:before {

content: "\0025cb "}.lst-kix_q97rvvc7c69e-8>li:before {

content: "\0025a0 "}ol.lst-kix_xv318blpjdo-5.start {

counter-reset: lst-ctn-kix_xv318blpjdo-5 0}ul.lst-kix_8p26nc4xx5n8-0 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-1 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-2 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-3 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-4 {

list-style-type: none}.lst-kix_emhp84jkv42c-0>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-0, upper-roman) ". "}.lst-kix_emhp84jkv42c-8>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-8, lower-roman) ") "}.lst-kix_9jxnjym0nges-1>li:before {

content: "\0025cb "}.lst-kix_xoos54gyybzj-7>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-5.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-5 0}.lst-kix_ndaonzmgp8vn-3>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-8>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-8, lower-roman) ". "}.lst-kix_u0uqs69v9qbh-1>li:before {

content: "\0025cb "}.lst-kix_opi66v2qdsjs-1>li:before {

content: "\0025cb "}.lst-kix_lemcawe54w5c-1>li:before {

content: "\0025cb "}.lst-kix_11a9ub9xa97v-7>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-7, lower-latin) ") "}.lst-kix_8p26nc4xx5n8-5>li:before {

content: "\0025a0 "}ol.lst-kix_xv318blpjdo-6.start {

counter-reset: lst-ctn-kix_xv318blpjdo-6 0}.lst-kix_l7z426mwssm0-7>li:before {

content: "\0025cb "}.lst-kix_1wulu3ra2vwv-0>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-0}.lst-kix_gyhqddkw9i05-5>li:before {

content: "\0025a0 "}.lst-kix_hchtl271h88l-2>li:before {

content: "\0025a0 "}ul.lst-kix_6qnkx7t1adn9-8 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-4.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-4 0}ul.lst-kix_6qnkx7t1adn9-7 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-5 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-6 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-6 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-5 {

list-style-type: none}.lst-kix_sholqrhc62dh-3>li:before {

content: "\0025cf "}ul.lst-kix_8p26nc4xx5n8-7 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-4 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-8 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-3 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-2 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-1 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-1>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-1, upper-latin) ". "}ul.lst-kix_6qnkx7t1adn9-0 {

list-style-type: none}ol {

margin: 0;

padding: 0}table td, table th {

padding: 0}.c4 {

color: #ff5e0e;

font-weight: 700;

text-decoration: none;

vertical-align: baseline;

font-size: 18pt;

font-family: "PT Sans Narrow";

font-style: normal}.c7 {

color: #38761d;

font-weight: 400;

text-decoration: none;

vertical-align: baseline;

font-size: 16pt;

font-family: "PT Sans Narrow";

font-style: normal}.c14 {

color: #695d46;

font-weight: 700;

text-decoration: none;

vertical-align: baseline;

font-size: 42pt;

font-family: "PT Sans Narrow";

font-style: normal}.c0 {

color: #695d46;

font-weight: 400;

text-decoration: none;

vertical-align: baseline;

font-size: 11pt;

font-family: "Open Sans";

font-style: normal}.c1 {

padding-top: 6pt;

padding-bottom: 0pt;

line-height: 1.2;

orphans: 2;

widows: 2;

text-align: left}.c8 {

padding-top: 18pt;

padding-bottom: 6pt;

line-height: 1.2;

page-break-after: avoid;

text-align: left}.c11 {

padding-top: 24pt;

padding-bottom: 0pt;

line-height: 1.3;

page-break-after: avoid;

text-align: left}.c17 {

padding-top: 6pt;

padding-bottom: 0pt;

line-height: 1.2;

page-break-after: avoid;

text-align: left}.c19 {

text-decoration: none;

vertical-align: baseline;

font-size: 12pt;

font-style: normal}.c9 {

padding-top: 16pt;

padding-bottom: 0pt;

line-height: 1.0;

text-align: left}.c18 {

padding-top: 0pt;

padding-bottom: 0pt;

line-height: 1.2;

text-align: left}.c10 {

font-size: 18pt;

font-family: "PT Sans Narrow";

color: #ff5e0e;

font-weight: 700}.c13 {

font-family: "Open Sans";

color: #695d46;

font-weight: 400}.c12 {

background-color: #ffffff;

max-width: 468pt;

padding: 72pt 72pt 72pt 72pt}.c5 {

padding: 0;

margin: 0}.c15 {

color: inherit;

text-decoration: inherit}.c16 {

color: #1155cc;

text-decoration: underline}.c3 {

padding-left: 0pt}.c6 {

margin-left: 72pt}.c2 {

margin-left: 36pt}.title {

padding-top: 0pt;

color: #695d46;

font-size: 26pt;

padding-bottom: 3pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}.subtitle {

padding-top: 0pt;

color: #666666;

font-size: 15pt;

padding-bottom: 16pt;

font-family: "Arial";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}li {

color: #695d46;

font-size: 11pt;

font-family: "Open Sans"}p {

margin: 0;

color: #695d46;

font-size: 11pt;

font-family: "Open Sans"}h1 {

padding-top: 24pt;

color: #ff5e0e;

font-weight: 700;

font-size: 18pt;

padding-bottom: 0pt;

font-family: "PT Sans Narrow";

line-height: 1.3;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h2 {

padding-top: 18pt;

color: #38761d;

font-size: 16pt;

padding-bottom: 6pt;

font-family: "PT Sans Narrow";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h3 {

padding-top: 16pt;

color: #434343;

font-size: 14pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h4 {

padding-top: 14pt;

color: #666666;

font-size: 12pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h5 {

padding-top: 12pt;

color: #666666;

font-size: 11pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h6 {

padding-top: 12pt;

color: #666666;

font-size: 11pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

font-style: italic;

orphans: 2;

widows: 2;

text-align: left}

 

Oracle Fusion Middleware Deployments Using

Docker Swarm Part III

Overview

This is the third in a series of blogs that

describe how to build a Fusion Middleware (FMW) Cluster that runs as

a number of Docker images that run in docker containers.  These

containers are coordinated using Docker Swarm and can be deployed to

a single host machine or multiple hosts.  This simplifies the

task of building FMW clusters and also makes it easier to scale them

in and out (adding or subtracting host machines) as well as up and

down (using bigger or smaller host
machines).  Using docker also helps us to avoid port

conflicts when running multiple servers on the same

physical machine.  When we use swarm we will see that we also

get benefits from a built in load balancer.

This blog uses Oracle Service Bus as an FMW

product but the principles are applicable to other FMW products.

In our previous blog we talked about how to

build the required docker images for running FMW on Docker Swarm and

created a database container.

In this entry we will explain how to create

an FMW domain image and how to run that in a docker container
.  The next blog will cover how to run this in

Docker Swarm.

Key Steps in Creating a Service Bus Cluster

When creating a service bus cluster we need to

do the following:

  1. Create the required

    schemas in a database.

  • Service Bus 12.1

    adds a number of new features such as re-sequencing that require the

    use of SOA Suite schemas.  These are in addition to the

    database requirements for Web Services Security Manager that existed

    in Service Bus 11g.
  • The Repository

    Creation Utility is used to create the schemas in a database.

  1. Create service bus

    domain.

  • The service bus

    domain contains all the required service bus binaries and associated

    configuration.  Within the domain we will create a service bus

    cluster.
  • The domain can be

    created using the WebLogic scripting tool by applying the service

    bus domain template.

  1. Create a Service Bus

    cluster within the domain.

  • The service bus

    cluster allows us to have multiple service bus servers running the

    same proxy services and sharing the load.
  • The cluster can be

    created and servers assigned using the WebLogic scripting tool.

These steps need to be factored into the way

we build our docker images and containers and ultimately into how we

create Docker Swarm services.

Mapping the Service Bus Cluster onto Docker

There are a number of ways in which we could

map a Service Bus cluster onto Docker.  We have chosen the

following approach:

  • Create a Docker

    image that contains the Service Bus domain configuration.

  • This is layered on

    top of the OSB installation image.  This allows us to modify

    and rebuild the scripts without having to reinstall the FMW

    software.  This speeds up the development cycle of the image.

     Once the scripts are working they could be placed in the FMW

    binary image, reducing the number of layers.
  • When creating a

    container from the image we run the RCU to create the schemas in the

    database.  We also run scripts to create the domain and add

    servers to the domain as needed.

  • The same Docker

    image is used for both Admin and Managed Servers.

  • Depending on

    parameters the container decides if it is an admin server or a

    member of a cluster.
  • All servers need

    access to the database.
  • All servers need

    access to the Admin server.
  • The admin server

    requires access to all servers.

Container Summary

We effectively have two images, which are both

built from multiple layers as explained previously.

  1. Database image holds

    the binaries for database and scripts to create a database instance.
  2. Fusion Middleware

    image holds the FMW binaries and scripts to create a domain, or

    extend an existing domain.

We have a single Docker Container to run the

database from the database image.

We have multiple Docker Containers, one per managed server, to run Fusion Middleware from the single domain

image.

To simplify starting the containers the git

project includes run scripts (run.sh for database and runNode.sh for

FMW) that can be used to create containers.

Database Container

The database container runs from the database

image and has the following characteristics:

  • When the container is created

    it creates and starts a database
    instance.
  • After starting the

    database we change the database password.
  • When the container

    is stopped it shuts down the database instance.
  • When the container

    is started it starts the database instance.
  • The database

    container exposes the database port (1521 in this case)
  • Only a single

    container runs a given database.

The database container is started using the

following command:

docker run -d -it --name Oracle12cDB

--hostname osbdb -p 1521:1521 -p 5500:5500 -e ORACLE_SID=ORCL -e

ORACLE_PDB=OSB -v /opt/oracle/oradata/OracleDB

oracle/database:12.1.0.2-ee

We expose ports 1521 (database) and 5500 (em).

Admin Server Container

The admin server container runs from the FMW

domain image, or just the FMW image if the layers have been

collapsed.  It has the following characteristics:

  • When the container

    is created it runs the RCU to configure the database.
  • When the container is created

    it creates an FMW
    domain and

    cluster.
  • When the container

    is created it starts the Admin Server.
  • When the container

    is stopped its stops the Admin Server.
  • When the container

    is started it starts the Admin Server.
  • The Admin Server

    exposes the admin console port (7001 in this case)
  • Only a single Admin

    Server container runs in a given domain.
  • The same image is

    used for both Admin and Managed Servers.

We start the admin server using the following

command

runNode.sh admin

This translates to

docker run -d -it \

        -e

"MS_NAME=AdminServer" \

        -e

"MACHINE_NAME=AdminServerMachine" \

        --name

wlsadmin \

        --add-host

osbdb:172.17.0.2 \

        --add-host

wlsadmin:172.17.0.3 \

        --add-host

wls1:172.17.0.4 \

        --add-host

wls2:172.17.0.5 \

        --add-host

wls3:172.17.0.6 \

        --add-host

wls4:172.17.0.7 \

        --hostname

wlsadmin \

        -p

7001:7001 \

        oracle/osb_domain:12.2.1.2

\

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

We need to add the hostnames of the managed

servers and the database to the /etc/hosts file so that the admin

server can access them.  We will show how to avoid doing this in

the final blog post.

Managed Server Containers

The managed server containers runs from the

same FMW domain image as the Admin Server.  It has the following

characteristics:

  • When the container

    is created it creates a new server in the domain and adds it to the

    FMW cluster
  • When the container is created

    it creates
     a local copy of the domain files.
  • When the container

    is created it starts the Managed Server.
  • When the container

    is stopped its stops the Managed Server.
  • When the container

    is started it starts the Managed Server.
  • The Managed Server

    exposes the admin console port (8011 in this case)
  • Multiple Managed

    Server containers may run in a given domain.
  • The same image is

    used for both Admin and Managed Servers.

We start the managed servers using the

following command

runNode.sh N

Where N is the number of the managed server.

When N=2 this  translates to

docker run -d -it \

        -e

"MS_NAME=osb_server2" \

        -e

"MACHINE_NAME=OsbServer2Machine" \

        --name

wls2 \

        --add-host

osbdb:172.17.0.2 \

        --add-host

wlsadmin:172.17.0.3 \

        --add-host

wls1:172.17.0.4 \

        --add-host

wls2:172.17.0.5 \

        --add-host

wls3:172.17.0.6 \

        --add-host

wls4:172.17.0.7 \

        --hostname

wlsadmin \

        -p

8013:8011 \

        oracle/osb_domain:12.2.1.2

\

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

Note that all the managed servers listen on

port 8011.  Because they each run in their own container their

is no conflict in their port numbers but we need to map them so that

they can be accessed externally without conflicts.

Special Notes for Service Bus

The first managed server in a Service Bus

cluster is special because it runs singleton tasks related to

reporting, collecting performance information from other nodes in the

cluster and aggregating it and making it available to the console.

 Because of this we decided to always create a Service Bus

domain with a pre-existing single Managed Server in the cluster with

the correct singleton targeting.

Because this server already exists if a

container detects it is supposed to run Managed Server 1 then it does

not create the server or associate it with a cluster, it justs

assigns it to a machine (see next section for details) and creates

the local managed server domain.

Containers and FMW Mapping

Each container maps to a single WebLogic

server, either Admin Server or a Managed Server in a cluster.

The Admin Server container is responsible for

running the repository configuration utility, creating the domain and

configuring it for that particular FMW product (in our case Service

Bus).

The Managed Server containers are responsible

for adding a new Managed Server to the cluster and creating a local

managed server domain.

Both Admin and Managed Server containers need

to figure out key facts about themselves:

  • Hostname - used to

    set the listen address for the server and also the address of the

    machine
  • Type - admin or

    managed server to decide what to do on creation
  • Server identifier -

    managed servers need to make sure they have unique server names.
  • Associated Admin

    Server - managed servers must contact the admin server to obtain and

    update domain configuration.
  • Database Server -

    admin servers must know about the database to be able to run the RCU

    and create data sources required by the FMW product.

Starting the FMW Cluster

The FMW cluster is started as follows:

  1. A database container

    is created/started
  2. An admin server is

    created/started
  3. One or more managed

    servers are created/started

Containers are created using the “docker

run” command.  We use the “-d” flag to run

them as daemon processes.  By default the CMD directive in the

dockerfile is used choose the command or script to run on container

startup.  We use this for the database container.  For the

admin and managed containers we identify which type of container they

are and pass in an appropriate script to the “docker run”

command.

Containers are started using the “docker

start” command and the container uses the same command or

script as when it was created.  That means we must detect if

this is a new container or a container being started after previously

being shutdown.  With the FMW containers we do this by looking

for the existence of the domain directory, if it exists we have

previously been started, if not this must be our first run.

Tools such as docker compose and docker

compose simplify the task of deploying our multiple container FMW

cluster and we will look at these in the next blog entry.  One

of the benefits we will find with swarm is that it includes a load

balancer.  The current multi-container approach would require

either another container to run a load balancer or an external load

balancer, we will see that swarm removes this need.

Retrieving Docker Files for OSB Cluster

We are posting all the required

files to go along with this blog on github
.  You

are welcome to fork from this and improve it.  We cloned many of

these files from the
official

Oracle docker github
.  We removed unused versions

and added a simplified build.sh file to each product directory to

make it easy to see how we actually built our environment.  We

are still updating the files online and will shortly add details on

building the swarm services.

Summary

In this entry we have explained how to create

a Fusion Middleware Domain
and run it on docker

containers
.  In our next entry we will

simplify the deployment
of of our cluster

by taking advatage of swarm

mode by defining swarm services for the database, WebLogic Admin

Server and WebLogic managed servers.

Building an FMW Cluster using Docker (Part III Running Docker Containers)

Antony Reynolds - Mon, 2017-03-13 01:02

Click here for a Google Docs version of this document that doesn't suffer from the Oracle blog formatting problems

@import url('https://themes.googleusercontent.com/fonts/css?kit=soJ-z33zIWP9ip4SlSLqmawpPKmPqgwAG3potzd-b6hLxa5kJlTvGyssufwSrkOWWWXuzMD-CMEVHDC2H45HXw') ; .lst-kix_sholqrhc62dh-7>li:before { content: "\0025cb " } .lst-kix_sholqrhc62dh-8>li:before { content: "\0025a0 " } .lst-kix_sholqrhc62dh-6>li:before { content: "\0025cf " } ol.lst-kix_vf0l197cqv6l-2.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-2 0 } ol.lst-kix_xv318blpjdo-3.start { counter-reset: lst-ctn-kix_xv318blpjdo-3 0 } .lst-kix_sholqrhc62dh-1>li:before { content: "\0025cb " } .lst-kix_vf0l197cqv6l-2>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-2, lower-roman) ". " } .lst-kix_sholqrhc62dh-0>li:before { content: "\0025cf " } .lst-kix_emhp84jkv42c-3>li { counter-increment: lst-ctn-kix_emhp84jkv42c-3 } .lst-kix_ekmayt81kvbz-0>li:before { content: "\0025cf " } .lst-kix_vf0l197cqv6l-1>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-4>li { counter-increment: lst-ctn-kix_jj5w63toozfm-4 } .lst-kix_ekmayt81kvbz-2>li:before { content: "\0025a0 " } ul.lst-kix_qeqyxe7gm97l-6 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-5 { list-style-type: none } .lst-kix_ekmayt81kvbz-1>li:before { content: "\0025cb " } ul.lst-kix_qeqyxe7gm97l-4 { list-style-type: none } .lst-kix_ekmayt81kvbz-3>li:before { content: "\0025cf " } ul.lst-kix_qeqyxe7gm97l-3 { list-style-type: none } .lst-kix_vf0l197cqv6l-0>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-0, decimal) ". " } ul.lst-kix_qeqyxe7gm97l-2 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-1 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-0 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-8.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-8 0 } .lst-kix_ekmayt81kvbz-5>li:before { content: "\0025a0 " } .lst-kix_ekmayt81kvbz-7>li:before { content: "\0025cb " } ul.lst-kix_4m04az9jmmj8-3 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-2 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-8 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-1 { list-style-type: none } .lst-kix_ekmayt81kvbz-4>li:before { content: "\0025cb " } .lst-kix_ekmayt81kvbz-8>li:before { content: "\0025a0 " } ul.lst-kix_qeqyxe7gm97l-7 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-0 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-7 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-6 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-5 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-4 { list-style-type: none } .lst-kix_ekmayt81kvbz-6>li:before { content: "\0025cf " } ul.lst-kix_4m04az9jmmj8-8 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-2>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-2 } .lst-kix_11a9ub9xa97v-0>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-0 } ol.lst-kix_emhp84jkv42c-4.start { counter-reset: lst-ctn-kix_emhp84jkv42c-4 0 } ol.lst-kix_xv318blpjdo-8.start { counter-reset: lst-ctn-kix_xv318blpjdo-8 0 } ul.lst-kix_6ril5iwt0fcl-5 { list-style-type: none } .lst-kix_q8ok0mh9yyto-8>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-8 } ul.lst-kix_6ril5iwt0fcl-4 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-3 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-2 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-8 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-7 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-6 { list-style-type: none } .lst-kix_vf0l197cqv6l-6>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-6 } .lst-kix_vf0l197cqv6l-4>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-4, lower-latin) ". " } ol.lst-kix_s3mi7ukxwiwf-8.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-8 0 } .lst-kix_vf0l197cqv6l-3>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-3, decimal) ". " } .lst-kix_vf0l197cqv6l-5>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-5, lower-roman) ". " } .lst-kix_vf0l197cqv6l-6>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-6, decimal) ". " } ul.lst-kix_6ril5iwt0fcl-1 { list-style-type: none } .lst-kix_vf0l197cqv6l-8>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-8, lower-roman) ". " } ul.lst-kix_6ril5iwt0fcl-0 { list-style-type: none } .lst-kix_xv318blpjdo-1>li { counter-increment: lst-ctn-kix_xv318blpjdo-1 } .lst-kix_vf0l197cqv6l-7>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-7, lower-latin) ". " } .lst-kix_bfzyeb917dp8-6>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-6 } ol.lst-kix_yly1729bcywk-0 { list-style-type: none } ol.lst-kix_yly1729bcywk-1 { list-style-type: none } ol.lst-kix_yly1729bcywk-6.start { counter-reset: lst-ctn-kix_yly1729bcywk-6 0 } ol.lst-kix_yly1729bcywk-4 { list-style-type: none } ol.lst-kix_yly1729bcywk-5 { list-style-type: none } ol.lst-kix_yly1729bcywk-2 { list-style-type: none } ol.lst-kix_yly1729bcywk-3 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-1>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-1, lower-latin) ". " } ol.lst-kix_yly1729bcywk-8 { list-style-type: none } ul.lst-kix_hchtl271h88l-3 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-0.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-0 0 } ul.lst-kix_hchtl271h88l-2 { list-style-type: none } ol.lst-kix_yly1729bcywk-6 { list-style-type: none } ul.lst-kix_hchtl271h88l-5 { list-style-type: none } ol.lst-kix_yly1729bcywk-7 { list-style-type: none } ul.lst-kix_hchtl271h88l-4 { list-style-type: none } .lst-kix_gfromclascha-0>li:before { content: "\0025cf " } ul.lst-kix_hchtl271h88l-1 { list-style-type: none } ul.lst-kix_hchtl271h88l-0 { list-style-type: none } .lst-kix_gfromclascha-2>li:before { content: "\0025a0 " } .lst-kix_gfromclascha-4>li:before { content: "\0025cb " } ul.lst-kix_hchtl271h88l-7 { list-style-type: none } ul.lst-kix_hchtl271h88l-6 { list-style-type: none } ul.lst-kix_hchtl271h88l-8 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-7.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-7 0 } .lst-kix_6ril5iwt0fcl-0>li:before { content: "\0025cf " } .lst-kix_gfromclascha-6>li:before { content: "\0025cf " } .lst-kix_q97rvvc7c69e-5>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-7>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-8.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-8 0 } .lst-kix_6ril5iwt0fcl-2>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-3>li:before { content: "\0025cf " } .lst-kix_s3mi7ukxwiwf-7>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-7, lower-latin) ". " } .lst-kix_6ril5iwt0fcl-4>li:before { content: "\0025cb " } .lst-kix_6ril5iwt0fcl-6>li:before { content: "\0025cf " } .lst-kix_xv318blpjdo-8>li { counter-increment: lst-ctn-kix_xv318blpjdo-8 } .lst-kix_s3mi7ukxwiwf-5>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-5, lower-roman) ". " } .lst-kix_6ril5iwt0fcl-8>li:before { content: "\0025a0 " } .lst-kix_s3mi7ukxwiwf-3>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-3, decimal) ". " } .lst-kix_ne7nl4nhpzqr-0>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-0 } .lst-kix_ne7nl4nhpzqr-7>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-7 } .lst-kix_vf0l197cqv6l-5>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-5 } ol.lst-kix_jj5w63toozfm-7.start { counter-reset: lst-ctn-kix_jj5w63toozfm-7 0 } .lst-kix_1wulu3ra2vwv-4>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-4, decimal) ") " } .lst-kix_yly1729bcywk-3>li { counter-increment: lst-ctn-kix_yly1729bcywk-3 } .lst-kix_hchtl271h88l-5>li:before { content: "\0025a0 " } .lst-kix_1wulu3ra2vwv-6>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-6, lower-roman) ") " } .lst-kix_yly1729bcywk-4>li { counter-increment: lst-ctn-kix_yly1729bcywk-4 } .lst-kix_hchtl271h88l-7>li:before { content: "\0025cb " } .lst-kix_1wulu3ra2vwv-8>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-8, lower-roman) ") " } .lst-kix_gfromclascha-8>li:before { content: "\0025a0 " } .lst-kix_hchtl271h88l-3>li:before { content: "\0025cf " } .lst-kix_sholqrhc62dh-2>li:before { content: "\0025a0 " } ul.lst-kix_9jxnjym0nges-0 { list-style-type: none } .lst-kix_hchtl271h88l-1>li:before { content: "\0025cb " } .lst-kix_sholqrhc62dh-4>li:before { content: "\0025cb " } .lst-kix_1wulu3ra2vwv-2>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-2, decimal) ". " } .lst-kix_1wulu3ra2vwv-0>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-0, upper-roman) ". " } ol.lst-kix_11a9ub9xa97v-3.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-3 0 } .lst-kix_emhp84jkv42c-2>li { counter-increment: lst-ctn-kix_emhp84jkv42c-2 } ol.lst-kix_s3mi7ukxwiwf-4.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-4 0 } ul.lst-kix_h0kibz3smj6t-8 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-7.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-7 0 } .lst-kix_jkgkf1u9sy0c-2>li:before { content: "\0025a0 " } .lst-kix_f5kb4hocu5hh-2>li:before { content: "\0025a0 " } .lst-kix_jkgkf1u9sy0c-1>li:before { content: "\0025cb " } .lst-kix_f5kb4hocu5hh-6>li:before { content: "\0025cf " } ul.lst-kix_iv2x96orjh4l-2 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-1.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-1 0 } ul.lst-kix_iv2x96orjh4l-3 { list-style-type: none } .lst-kix_f5kb4hocu5hh-5>li:before { content: "\0025a0 " } ul.lst-kix_iv2x96orjh4l-0 { list-style-type: none } .lst-kix_jj5w63toozfm-3>li { counter-increment: lst-ctn-kix_jj5w63toozfm-3 } ul.lst-kix_iv2x96orjh4l-1 { list-style-type: none } ul.lst-kix_iv2x96orjh4l-6 { list-style-type: none } ul.lst-kix_iv2x96orjh4l-7 { list-style-type: none } .lst-kix_ne7nl4nhpzqr-6>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-6 } ul.lst-kix_iv2x96orjh4l-4 { list-style-type: none } ul.lst-kix_iv2x96orjh4l-5 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-3 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-2 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-1 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-5>li:before { content: "\0025a0 " } ul.lst-kix_h0kibz3smj6t-0 { list-style-type: none } ol.lst-kix_jj5w63toozfm-2.start { counter-reset: lst-ctn-kix_jj5w63toozfm-2 0 } ul.lst-kix_h0kibz3smj6t-7 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-6 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-5 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-6>li:before { content: "\0025cf " } ul.lst-kix_h0kibz3smj6t-4 { list-style-type: none } .lst-kix_emhp84jkv42c-4>li { counter-increment: lst-ctn-kix_emhp84jkv42c-4 } ul.lst-kix_iv2x96orjh4l-8 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-3.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-3 0 } .lst-kix_b7256qmdgo85-3>li:before { content: "\0025cf " } .lst-kix_b7256qmdgo85-4>li:before { content: "\0025cb " } .lst-kix_b7256qmdgo85-7>li:before { content: "\0025cb " } ol.lst-kix_jj5w63toozfm-3.start { counter-reset: lst-ctn-kix_jj5w63toozfm-3 0 } .lst-kix_q97rvvc7c69e-2>li:before { content: "\0025a0 " } .lst-kix_b7256qmdgo85-8>li:before { content: "\0025a0 " } ol.lst-kix_bfzyeb917dp8-2.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-2 0 } ol.lst-kix_1wulu3ra2vwv-6.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-6 0 } ol.lst-kix_yly1729bcywk-7.start { counter-reset: lst-ctn-kix_yly1729bcywk-7 0 } .lst-kix_jj5w63toozfm-5>li { counter-increment: lst-ctn-kix_jj5w63toozfm-5 } .lst-kix_s3mi7ukxwiwf-0>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-0, decimal) ". " } ul.lst-kix_q97rvvc7c69e-4 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-3 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-6 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-6.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-6 0 } .lst-kix_s3mi7ukxwiwf-8>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-8, lower-roman) ". " } ul.lst-kix_q97rvvc7c69e-5 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-8 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-7 { list-style-type: none } .lst-kix_gfromclascha-3>li:before { content: "\0025cf " } ul.lst-kix_q97rvvc7c69e-0 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-2 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-1 { list-style-type: none } .lst-kix_yly1729bcywk-3>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-3, decimal) ". " } .lst-kix_q97rvvc7c69e-6>li:before { content: "\0025cf " } .lst-kix_6ril5iwt0fcl-1>li:before { content: "\0025cb " } .lst-kix_iv2x96orjh4l-6>li:before { content: "\0025cf " } .lst-kix_yly1729bcywk-7>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-7, lower-latin) ". " } ol.lst-kix_s3mi7ukxwiwf-3.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-3 0 } .lst-kix_6ril5iwt0fcl-5>li:before { content: "\0025a0 " } .lst-kix_iv2x96orjh4l-2>li:before { content: "\0025a0 " } .lst-kix_q8ok0mh9yyto-1>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-1 } .lst-kix_s3mi7ukxwiwf-4>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-4, lower-latin) ". " } .lst-kix_5anu1k9tsyak-2>li:before { content: "\0025a0 " } .lst-kix_b7256qmdgo85-0>li:before { content: "\0025cf " } ul.lst-kix_vf0l197cqv6l-1 { list-style-type: none } .lst-kix_1wulu3ra2vwv-3>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-3, lower-latin) ") " } .lst-kix_xoos54gyybzj-5>li:before { content: "\0025a0 " } ol.lst-kix_ne7nl4nhpzqr-5.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-5 0 } ol.lst-kix_vf0l197cqv6l-7.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-7 0 } .lst-kix_11a9ub9xa97v-7>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-7 } .lst-kix_1wulu3ra2vwv-7>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-7, lower-latin) ") " } .lst-kix_xoos54gyybzj-1>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-2 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-3 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-0 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-1 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-6 { list-style-type: none } .lst-kix_hchtl271h88l-8>li:before { content: "\0025a0 " } ol.lst-kix_ne7nl4nhpzqr-7 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-4 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-5 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-8 { list-style-type: none } .lst-kix_1wulu3ra2vwv-6>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-6 } .lst-kix_gfromclascha-7>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-6.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-6 0 } ul.lst-kix_pcjo479wrta-0 { list-style-type: none } .lst-kix_86hsx13ssqid-5>li:before { content: "\0025a0 " } ul.lst-kix_pcjo479wrta-2 { list-style-type: none } ul.lst-kix_pcjo479wrta-1 { list-style-type: none } ul.lst-kix_pcjo479wrta-4 { list-style-type: none } .lst-kix_hchtl271h88l-4>li:before { content: "\0025cb " } ul.lst-kix_pcjo479wrta-3 { list-style-type: none } ul.lst-kix_pcjo479wrta-6 { list-style-type: none } ul.lst-kix_pcjo479wrta-5 { list-style-type: none } ul.lst-kix_pcjo479wrta-8 { list-style-type: none } ul.lst-kix_pcjo479wrta-7 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-8.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-8 0 } .lst-kix_hchtl271h88l-0>li:before { content: "\0025cf " } .lst-kix_86hsx13ssqid-1>li:before { content: "\0025cb " } .lst-kix_sholqrhc62dh-5>li:before { content: "\0025a0 " } .lst-kix_7tib3jrzu2u9-0>li:before { content: "\0025cf " } .lst-kix_7tib3jrzu2u9-5>li:before { content: "\0025a0 " } .lst-kix_7tib3jrzu2u9-2>li:before { content: "\0025a0 " } .lst-kix_7tib3jrzu2u9-3>li:before { content: "\0025cf " } ul.lst-kix_ndaonzmgp8vn-4 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-3 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-6 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-5 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-0 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-2 { list-style-type: none } .lst-kix_bfzyeb917dp8-4>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-4 } ul.lst-kix_ndaonzmgp8vn-1 { list-style-type: none } .lst-kix_7tib3jrzu2u9-8>li:before { content: "\0025a0 " } ul.lst-kix_sholqrhc62dh-6 { list-style-type: none } ul.lst-kix_sholqrhc62dh-5 { list-style-type: none } ul.lst-kix_sholqrhc62dh-4 { list-style-type: none } ul.lst-kix_sholqrhc62dh-3 { list-style-type: none } ul.lst-kix_sholqrhc62dh-8 { list-style-type: none } ul.lst-kix_sholqrhc62dh-7 { list-style-type: none } ul.lst-kix_sholqrhc62dh-2 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-6.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-6 0 } ul.lst-kix_sholqrhc62dh-1 { list-style-type: none } ul.lst-kix_sholqrhc62dh-0 { list-style-type: none } .lst-kix_emhp84jkv42c-1>li { counter-increment: lst-ctn-kix_emhp84jkv42c-1 } ul.lst-kix_ndaonzmgp8vn-8 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-7 { list-style-type: none } .lst-kix_j42a5dwgnqyq-8>li:before { content: "\0025a0 " } .lst-kix_5anu1k9tsyak-6>li:before { content: "\0025cf " } ol.lst-kix_bfzyeb917dp8-1.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-1 0 } .lst-kix_j42a5dwgnqyq-7>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-7>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-8>li:before { content: "\0025a0 " } .lst-kix_5anu1k9tsyak-8>li:before { content: "\0025a0 " } ol.lst-kix_s3mi7ukxwiwf-2.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-2 0 } .lst-kix_yly1729bcywk-5>li { counter-increment: lst-ctn-kix_yly1729bcywk-5 } ul.lst-kix_686a8e4qhxwx-4 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-3 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-2 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-1 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-8 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-7 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-6 { list-style-type: none } .lst-kix_6qnkx7t1adn9-0>li:before { content: "\0025cf " } .lst-kix_qeqyxe7gm97l-0>li:before { content: "\0025cf " } ul.lst-kix_686a8e4qhxwx-5 { list-style-type: none } .lst-kix_6qnkx7t1adn9-1>li:before { content: "\0025cb " } .lst-kix_6qnkx7t1adn9-3>li:before { content: "\0025cf " } ul.lst-kix_686a8e4qhxwx-0 { list-style-type: none } .lst-kix_bfzyeb917dp8-0>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-0 } .lst-kix_qeqyxe7gm97l-5>li:before { content: "\0025a0 " } .lst-kix_j42a5dwgnqyq-0>li:before { content: "\0025cf " } .lst-kix_j42a5dwgnqyq-2>li:before { content: "\0025a0 " } .lst-kix_j42a5dwgnqyq-5>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-3.start { counter-reset: lst-ctn-kix_emhp84jkv42c-3 0 } .lst-kix_qeqyxe7gm97l-2>li:before { content: "\0025a0 " } .lst-kix_emhp84jkv42c-8>li { counter-increment: lst-ctn-kix_emhp84jkv42c-8 } ol.lst-kix_s3mi7ukxwiwf-0.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-0 0 } .lst-kix_86hsx13ssqid-8>li:before { content: "\0025a0 " } ol.lst-kix_vf0l197cqv6l-6 { list-style-type: none } ul.lst-kix_xoos54gyybzj-4 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-7 { list-style-type: none } ul.lst-kix_xoos54gyybzj-5 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-3.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-3 0 } ol.lst-kix_vf0l197cqv6l-4 { list-style-type: none } ul.lst-kix_xoos54gyybzj-6 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-5 { list-style-type: none } ul.lst-kix_xoos54gyybzj-7 { list-style-type: none } ul.lst-kix_xoos54gyybzj-8 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-0>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-0 } ol.lst-kix_vf0l197cqv6l-8 { list-style-type: none } .lst-kix_yly1729bcywk-2>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-2, lower-roman) ". " } .lst-kix_fd1rucpc9vz2-5>li:before { content: "\0025a0 " } .lst-kix_fd1rucpc9vz2-7>li:before { content: "\0025cb " } ol.lst-kix_vf0l197cqv6l-2 { list-style-type: none } .lst-kix_pcjo479wrta-5>li:before { content: "\0025a0 " } .lst-kix_iv2x96orjh4l-5>li:before { content: "\0025a0 " } ul.lst-kix_xoos54gyybzj-0 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-3 { list-style-type: none } ul.lst-kix_xoos54gyybzj-1 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-0 { list-style-type: none } ul.lst-kix_xoos54gyybzj-2 { list-style-type: none } .lst-kix_yly1729bcywk-0>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-0, decimal) ". " } .lst-kix_yly1729bcywk-8>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-8, lower-roman) ". " } ul.lst-kix_xoos54gyybzj-3 { list-style-type: none } .lst-kix_iv2x96orjh4l-3>li:before { content: "\0025cf " } .lst-kix_5anu1k9tsyak-3>li:before { content: "\0025cf " } .lst-kix_5anu1k9tsyak-5>li:before { content: "\0025a0 " } .lst-kix_1wulu3ra2vwv-8>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-8 } ol.lst-kix_q8ok0mh9yyto-6 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-5 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-4 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-3 { list-style-type: none } .lst-kix_9jxnjym0nges-0>li:before { content: "\0025cf " } ol.lst-kix_q8ok0mh9yyto-8 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-7 { list-style-type: none } .lst-kix_xoos54gyybzj-8>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-0.start { counter-reset: lst-ctn-kix_emhp84jkv42c-0 0 } .lst-kix_opi66v2qdsjs-8>li:before { content: "\0025a0 " } .lst-kix_ndaonzmgp8vn-4>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-2 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-1 { list-style-type: none } .lst-kix_9jxnjym0nges-2>li:before { content: "\0025a0 " } ol.lst-kix_q8ok0mh9yyto-0 { list-style-type: none } .lst-kix_xoos54gyybzj-6>li:before { content: "\0025cf " } .lst-kix_ndaonzmgp8vn-2>li:before { content: "\0025a0 " } .lst-kix_opi66v2qdsjs-2>li:before { content: "\0025a0 " } .lst-kix_11a9ub9xa97v-0>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-0, upper-roman) ". " } ol.lst-kix_bfzyeb917dp8-4.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-4 0 } .lst-kix_q8ok0mh9yyto-3>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-3 } .lst-kix_xoos54gyybzj-0>li:before { content: "\0025cf " } .lst-kix_11a9ub9xa97v-8>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-8, lower-roman) ") " } .lst-kix_86hsx13ssqid-0>li:before { content: "\0025cf " } .lst-kix_86hsx13ssqid-6>li:before { content: "\0025cf " } .lst-kix_9jxnjym0nges-8>li:before { content: "\0025a0 " } .lst-kix_11a9ub9xa97v-6>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-6, lower-roman) ") " } ul.lst-kix_9jxnjym0nges-2 { list-style-type: none } .lst-kix_xv318blpjdo-2>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-2, decimal) ". " } ul.lst-kix_9jxnjym0nges-1 { list-style-type: none } ul.lst-kix_9jxnjym0nges-4 { list-style-type: none } ul.lst-kix_9jxnjym0nges-3 { list-style-type: none } .lst-kix_h0kibz3smj6t-5>li:before { content: "\0025a0 " } ul.lst-kix_9jxnjym0nges-6 { list-style-type: none } ul.lst-kix_9jxnjym0nges-5 { list-style-type: none } ul.lst-kix_9jxnjym0nges-8 { list-style-type: none } ul.lst-kix_9jxnjym0nges-7 { list-style-type: none } .lst-kix_xv318blpjdo-2>li { counter-increment: lst-ctn-kix_xv318blpjdo-2 } .lst-kix_f5kb4hocu5hh-3>li:before { content: "\0025cf " } .lst-kix_s3mi7ukxwiwf-3>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-3 } .lst-kix_bfzyeb917dp8-7>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-7 } .lst-kix_f5kb4hocu5hh-8>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-1.start { counter-reset: lst-ctn-kix_emhp84jkv42c-1 0 } .lst-kix_jkgkf1u9sy0c-4>li:before { content: "\0025cb " } ol.lst-kix_jj5w63toozfm-3 { list-style-type: none } ol.lst-kix_jj5w63toozfm-4 { list-style-type: none } ol.lst-kix_jj5w63toozfm-5 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-7>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-7>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-7, lower-latin) ") " } .lst-kix_686a8e4qhxwx-5>li:before { content: "\0025a0 " } ol.lst-kix_jj5w63toozfm-6 { list-style-type: none } ol.lst-kix_jj5w63toozfm-7 { list-style-type: none } ol.lst-kix_jj5w63toozfm-8 { list-style-type: none } .lst-kix_h0kibz3smj6t-2>li:before { content: "\0025a0 " } .lst-kix_q8ok0mh9yyto-7>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-7 } ol.lst-kix_jj5w63toozfm-0 { list-style-type: none } ol.lst-kix_jj5w63toozfm-1 { list-style-type: none } .lst-kix_686a8e4qhxwx-2>li:before { content: "\0025a0 " } ol.lst-kix_jj5w63toozfm-2 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-3 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-8.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-8 0 } ol.lst-kix_11a9ub9xa97v-2 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-1 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-0 { list-style-type: none } .lst-kix_b7256qmdgo85-2>li:before { content: "\0025a0 " } ol.lst-kix_11a9ub9xa97v-8 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-7 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-6 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-5 { list-style-type: none } .lst-kix_4m04az9jmmj8-7>li:before { content: "\0025cb " } ol.lst-kix_11a9ub9xa97v-4 { list-style-type: none } .lst-kix_b7256qmdgo85-5>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-1>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-2>li { counter-increment: lst-ctn-kix_yly1729bcywk-2 } .lst-kix_q8ok0mh9yyto-5>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-5, lower-latin) ") " } .lst-kix_4m04az9jmmj8-4>li:before { content: "\0025cb " } .lst-kix_bfzyeb917dp8-3>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-3 } .lst-kix_ne7nl4nhpzqr-7>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-7, lower-latin) ". " } .lst-kix_q8ok0mh9yyto-8>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-8, lower-roman) ") " } ol.lst-kix_bfzyeb917dp8-5 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-4 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-3 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-2 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-8 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-7 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-6 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-1 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-0 { list-style-type: none } ol.lst-kix_emhp84jkv42c-5.start { counter-reset: lst-ctn-kix_emhp84jkv42c-5 0 } .lst-kix_q8ok0mh9yyto-0>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-0 } .lst-kix_l7z426mwssm0-3>li:before { content: "\0025cf " } .lst-kix_iv2x96orjh4l-8>li:before { content: "\0025a0 " } .lst-kix_6qnkx7t1adn9-6>li:before { content: "\0025cf " } .lst-kix_gfromclascha-5>li:before { content: "\0025a0 " } .lst-kix_pcjo479wrta-2>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-8.start { counter-reset: lst-ctn-kix_emhp84jkv42c-8 0 } .lst-kix_11a9ub9xa97v-8>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-8 } .lst-kix_x1epm4iu41dp-5>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-4>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-5>li { counter-increment: lst-ctn-kix_xv318blpjdo-5 } .lst-kix_1wulu3ra2vwv-5>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-5 } .lst-kix_5anu1k9tsyak-0>li:before { content: "\0025cf " } .lst-kix_fy6y7gyjejoh-4>li:before { content: "\0025cb " } .lst-kix_ndaonzmgp8vn-7>li:before { content: "\0025cb " } .lst-kix_iv2x96orjh4l-0>li:before { content: "\0025cf " } .lst-kix_yly1729bcywk-5>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-5, lower-roman) ". " } .lst-kix_s3mi7ukxwiwf-2>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-2, lower-roman) ". " } .lst-kix_6ril5iwt0fcl-7>li:before { content: "\0025cb " } .lst-kix_emhp84jkv42c-4>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-4, decimal) ") " } .lst-kix_emhp84jkv42c-5>li { counter-increment: lst-ctn-kix_emhp84jkv42c-5 } .lst-kix_jj5w63toozfm-4>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-4, lower-latin) ". " } .lst-kix_1wulu3ra2vwv-5>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-5, lower-latin) ") " } ul.lst-kix_u0uqs69v9qbh-8 { list-style-type: none } .lst-kix_xoos54gyybzj-3>li:before { content: "\0025cf " } .lst-kix_11a9ub9xa97v-1>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-1 } ul.lst-kix_u0uqs69v9qbh-4 { list-style-type: none } .lst-kix_hchtl271h88l-6>li:before { content: "\0025cf " } ul.lst-kix_u0uqs69v9qbh-5 { list-style-type: none } .lst-kix_opi66v2qdsjs-5>li:before { content: "\0025a0 " } .lst-kix_lemcawe54w5c-5>li:before { content: "\0025a0 " } ul.lst-kix_u0uqs69v9qbh-6 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-7 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-0 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-6 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-1 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-5 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-2 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-8 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-3 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-7 { list-style-type: none } ol.lst-kix_emhp84jkv42c-7.start { counter-reset: lst-ctn-kix_emhp84jkv42c-7 0 } .lst-kix_fd1rucpc9vz2-2>li:before { content: "\0025a0 " } ul.lst-kix_jkgkf1u9sy0c-4 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-5 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-6 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-0 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-7 { list-style-type: none } .lst-kix_bfzyeb917dp8-2>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-2, decimal) ". " } .lst-kix_gyhqddkw9i05-1>li:before { content: "\0025cb " } ul.lst-kix_jkgkf1u9sy0c-8 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-2 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-1 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-4 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-3 { list-style-type: none } .lst-kix_11a9ub9xa97v-3>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-3, lower-latin) ") " } ol.lst-kix_emhp84jkv42c-6.start { counter-reset: lst-ctn-kix_emhp84jkv42c-6 0 } .lst-kix_8p26nc4xx5n8-1>li:before { content: "\0025cb " } .lst-kix_u0uqs69v9qbh-5>li:before { content: "\0025a0 " } .lst-kix_f5kb4hocu5hh-0>li:before { content: "\0025cf " } .lst-kix_9jxnjym0nges-5>li:before { content: "\0025a0 " } .lst-kix_86hsx13ssqid-3>li:before { content: "\0025cf " } ul.lst-kix_jkgkf1u9sy0c-0 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-1 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-2 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-3 { list-style-type: none } .lst-kix_vf0l197cqv6l-2>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-2 } ol.lst-kix_jj5w63toozfm-5.start { counter-reset: lst-ctn-kix_jj5w63toozfm-5 0 } ul.lst-kix_bijol4nzhwf0-8 { list-style-type: none } ol.lst-kix_emhp84jkv42c-0 { list-style-type: none } ol.lst-kix_emhp84jkv42c-2 { list-style-type: none } ol.lst-kix_emhp84jkv42c-1 { list-style-type: none } ol.lst-kix_emhp84jkv42c-4 { list-style-type: none } ol.lst-kix_emhp84jkv42c-3 { list-style-type: none } ol.lst-kix_emhp84jkv42c-6 { list-style-type: none } ol.lst-kix_emhp84jkv42c-5 { list-style-type: none } ol.lst-kix_emhp84jkv42c-8 { list-style-type: none } .lst-kix_yly1729bcywk-7>li { counter-increment: lst-ctn-kix_yly1729bcywk-7 } ol.lst-kix_emhp84jkv42c-7 { list-style-type: none } .lst-kix_11a9ub9xa97v-4>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-4 } .lst-kix_1qz6dmm9b14l-4>li:before { content: "\0025cb " } .lst-kix_1qz6dmm9b14l-3>li:before { content: "\0025cf " } .lst-kix_1qz6dmm9b14l-5>li:before { content: "\0025a0 " } ul.lst-kix_j42a5dwgnqyq-0 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-1 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-2 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-3 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-4 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-5 { list-style-type: none } .lst-kix_1qz6dmm9b14l-0>li:before { content: "\0025cf " } .lst-kix_1qz6dmm9b14l-8>li:before { content: "\0025a0 " } ul.lst-kix_j42a5dwgnqyq-6 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-7 { list-style-type: none } .lst-kix_1qz6dmm9b14l-1>li:before { content: "\0025cb " } ol.lst-kix_bfzyeb917dp8-0.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-0 0 } ul.lst-kix_j42a5dwgnqyq-8 { list-style-type: none } .lst-kix_1qz6dmm9b14l-2>li:before { content: "\0025a0 " } ul.lst-kix_bijol4nzhwf0-4 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-5 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-6 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-7 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-0 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-1 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-2 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-3 { list-style-type: none } .lst-kix_jj5w63toozfm-3>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-3, decimal) ". " } .lst-kix_1wulu3ra2vwv-2>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-2 } .lst-kix_1qz6dmm9b14l-7>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-2>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-2, lower-roman) ". " } .lst-kix_ne7nl4nhpzqr-3>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-3 } .lst-kix_q8ok0mh9yyto-4>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-4 } .lst-kix_1qz6dmm9b14l-6>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-1>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-1, lower-latin) ". " } .lst-kix_h9mjmxara98n-7>li:before { content: "\0025cb " } .lst-kix_bijol4nzhwf0-7>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-0>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-0, decimal) ". " } .lst-kix_h9mjmxara98n-6>li:before { content: "\0025cf " } .lst-kix_h9mjmxara98n-8>li:before { content: "\0025a0 " } .lst-kix_bijol4nzhwf0-6>li:before { content: "\0025cf " } .lst-kix_bijol4nzhwf0-8>li:before { content: "\0025a0 " } .lst-kix_h9mjmxara98n-5>li:before { content: "\0025a0 " } .lst-kix_bijol4nzhwf0-5>li:before { content: "\0025a0 " } .lst-kix_h9mjmxara98n-3>li:before { content: "\0025cf " } .lst-kix_bijol4nzhwf0-3>li:before { content: "\0025cf " } .lst-kix_h9mjmxara98n-2>li:before { content: "\0025a0 " } .lst-kix_h9mjmxara98n-4>li:before { content: "\0025cb " } .lst-kix_bijol4nzhwf0-2>li:before { content: "\0025a0 " } .lst-kix_bijol4nzhwf0-4>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-1.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-1 0 } ol.lst-kix_s3mi7ukxwiwf-1.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-1 0 } .lst-kix_h9mjmxara98n-0>li:before { content: "\0025cf " } .lst-kix_bijol4nzhwf0-0>li:before { content: "\0025cf " } .lst-kix_h9mjmxara98n-1>li:before { content: "\0025cb " } .lst-kix_bijol4nzhwf0-1>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-8>li { counter-increment: lst-ctn-kix_jj5w63toozfm-8 } ol.lst-kix_ne7nl4nhpzqr-3.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-3 0 } ul.lst-kix_gfromclascha-0 { list-style-type: none } ol.lst-kix_emhp84jkv42c-2.start { counter-reset: lst-ctn-kix_emhp84jkv42c-2 0 } .lst-kix_l7z426mwssm0-2>li:before { content: "\0025a0 " } .lst-kix_ne7nl4nhpzqr-4>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-4, lower-latin) ". " } .lst-kix_l7z426mwssm0-0>li:before { content: "\0025cf " } .lst-kix_l7z426mwssm0-4>li:before { content: "\0025cb " } ul.lst-kix_gfromclascha-7 { list-style-type: none } ul.lst-kix_gfromclascha-8 { list-style-type: none } ul.lst-kix_gfromclascha-5 { list-style-type: none } .lst-kix_ne7nl4nhpzqr-0>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-0, decimal) ". " } .lst-kix_ne7nl4nhpzqr-2>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-2, lower-roman) ". " } ul.lst-kix_gfromclascha-6 { list-style-type: none } .lst-kix_x1epm4iu41dp-8>li:before { content: "\0025a0 " } ul.lst-kix_gfromclascha-3 { list-style-type: none } ul.lst-kix_gfromclascha-4 { list-style-type: none } ul.lst-kix_gfromclascha-1 { list-style-type: none } .lst-kix_bfzyeb917dp8-3>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-3, lower-latin) ") " } ul.lst-kix_gfromclascha-2 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-3 { list-style-type: none } .lst-kix_x1epm4iu41dp-2>li:before { content: "\0025a0 " } ol.lst-kix_11a9ub9xa97v-1.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-1 0 } ul.lst-kix_opi66v2qdsjs-2 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-1 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-0 { list-style-type: none } .lst-kix_q8ok0mh9yyto-0>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-0, upper-roman) ". " } .lst-kix_fy6y7gyjejoh-3>li:before { content: "\0025cf " } .lst-kix_bfzyeb917dp8-5>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-5, lower-latin) ") " } .lst-kix_jj5w63toozfm-0>li { counter-increment: lst-ctn-kix_jj5w63toozfm-0 } .lst-kix_x1epm4iu41dp-6>li:before { content: "\0025cf " } ul.lst-kix_opi66v2qdsjs-8 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-7 { list-style-type: none } .lst-kix_x1epm4iu41dp-4>li:before { content: "\0025cb " } ul.lst-kix_opi66v2qdsjs-6 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-5 { list-style-type: none } .lst-kix_fy6y7gyjejoh-1>li:before { content: "\0025cb " } ul.lst-kix_opi66v2qdsjs-4 { list-style-type: none } .lst-kix_bfzyeb917dp8-7>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-7, lower-latin) ") " } .lst-kix_emhp84jkv42c-7>li { counter-increment: lst-ctn-kix_emhp84jkv42c-7 } .lst-kix_fy6y7gyjejoh-7>li:before { content: "\0025cb " } ol.lst-kix_xv318blpjdo-1.start { counter-reset: lst-ctn-kix_xv318blpjdo-1 0 } .lst-kix_x1epm4iu41dp-0>li:before { content: "\0025cf " } ol.lst-kix_vf0l197cqv6l-0.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-0 0 } .lst-kix_fy6y7gyjejoh-5>li:before { content: "\0025a0 " } .lst-kix_emhp84jkv42c-3>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-3, lower-latin) ") " } .lst-kix_emhp84jkv42c-5>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-5, lower-latin) ") " } .lst-kix_lemcawe54w5c-8>li:before { content: "\0025a0 " } ol.lst-kix_yly1729bcywk-4.start { counter-reset: lst-ctn-kix_yly1729bcywk-4 0 } .lst-kix_emhp84jkv42c-1>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-1, upper-latin) ". " } .lst-kix_emhp84jkv42c-7>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-7, lower-latin) ") " } .lst-kix_lemcawe54w5c-6>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-5>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-5, lower-roman) ". " } .lst-kix_bfzyeb917dp8-2>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-2 } ul.lst-kix_1qz6dmm9b14l-6 { list-style-type: none } .lst-kix_lemcawe54w5c-4>li:before { content: "\0025cb " } .lst-kix_gyhqddkw9i05-8>li:before { content: "\0025a0 " } .lst-kix_jj5w63toozfm-7>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-7, lower-latin) ". " } ul.lst-kix_1qz6dmm9b14l-5 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-8 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-7 { list-style-type: none } .lst-kix_jj5w63toozfm-1>li { counter-increment: lst-ctn-kix_jj5w63toozfm-1 } ul.lst-kix_1qz6dmm9b14l-2 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-1 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-4 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-3 { list-style-type: none } .lst-kix_u0uqs69v9qbh-0>li:before { content: "\0025cf " } .lst-kix_u0uqs69v9qbh-4>li:before { content: "\0025cb " } ul.lst-kix_1qz6dmm9b14l-0 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-6>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-6 } .lst-kix_jj5w63toozfm-7>li { counter-increment: lst-ctn-kix_jj5w63toozfm-7 } .lst-kix_lemcawe54w5c-2>li:before { content: "\0025a0 " } .lst-kix_u0uqs69v9qbh-2>li:before { content: "\0025a0 " } .lst-kix_8p26nc4xx5n8-6>li:before { content: "\0025cf " } ol.lst-kix_1wulu3ra2vwv-4.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-4 0 } .lst-kix_l7z426mwssm0-8>li:before { content: "\0025a0 " } .lst-kix_u0uqs69v9qbh-8>li:before { content: "\0025a0 " } .lst-kix_bfzyeb917dp8-1>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-1, upper-latin) ". " } ul.lst-kix_ekmayt81kvbz-8 { list-style-type: none } .lst-kix_gyhqddkw9i05-0>li:before { content: "\0025cf " } ul.lst-kix_ekmayt81kvbz-7 { list-style-type: none } .lst-kix_gyhqddkw9i05-4>li:before { content: "\0025cb " } .lst-kix_l7z426mwssm0-6>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-2>li:before { content: "\0025a0 " } ul.lst-kix_ekmayt81kvbz-6 { list-style-type: none } ul.lst-kix_ekmayt81kvbz-5 { list-style-type: none } .lst-kix_lemcawe54w5c-0>li:before { content: "\0025cf " } ul.lst-kix_ekmayt81kvbz-4 { list-style-type: none } ul.lst-kix_ekmayt81kvbz-3 { list-style-type: none } .lst-kix_gyhqddkw9i05-6>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-0>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-8>li:before { content: "\0025a0 " } ul.lst-kix_ekmayt81kvbz-2 { list-style-type: none } ul.lst-kix_ekmayt81kvbz-1 { list-style-type: none } .lst-kix_u0uqs69v9qbh-6>li:before { content: "\0025cf " } ul.lst-kix_ekmayt81kvbz-0 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-1 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-5.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-5 0 } ol.lst-kix_s3mi7ukxwiwf-2 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-0 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-1 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-5 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-2 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-6 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-3 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-0 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-4 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-5 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-6 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-3 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-7 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-4 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-8 { list-style-type: none } .lst-kix_gyhqddkw9i05-2>li:before { content: "\0025a0 " } .lst-kix_8p26nc4xx5n8-4>li:before { content: "\0025cb " } ul.lst-kix_7tib3jrzu2u9-7 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-8 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-7.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-7 0 } .lst-kix_yly1729bcywk-6>li { counter-increment: lst-ctn-kix_yly1729bcywk-6 } .lst-kix_xv318blpjdo-1>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-1, upper-latin) ". " } .lst-kix_xv318blpjdo-0>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-0, upper-roman) ". " } .lst-kix_h0kibz3smj6t-4>li:before { content: "\0025cb " } .lst-kix_ne7nl4nhpzqr-4>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-4 } .lst-kix_1wulu3ra2vwv-1>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-1 } .lst-kix_h0kibz3smj6t-7>li:before { content: "\0025cb " } .lst-kix_h0kibz3smj6t-8>li:before { content: "\0025a0 " } .lst-kix_11a9ub9xa97v-5>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-5 } .lst-kix_opi66v2qdsjs-0>li:before { content: "\0025cf " } .lst-kix_686a8e4qhxwx-7>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-8>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-8, lower-roman) ") " } .lst-kix_xv318blpjdo-5>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-5, lower-latin) ") " } .lst-kix_h0kibz3smj6t-3>li:before { content: "\0025cf " } .lst-kix_686a8e4qhxwx-3>li:before { content: "\0025cf " } .lst-kix_686a8e4qhxwx-4>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-4>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-4, decimal) ") " } .lst-kix_h0kibz3smj6t-0>li:before { content: "\0025cf " } ol.lst-kix_vf0l197cqv6l-4.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-4 0 } ol.lst-kix_ne7nl4nhpzqr-2.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-2 0 } ol.lst-kix_11a9ub9xa97v-0.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-0 0 } .lst-kix_s3mi7ukxwiwf-7>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-7 } ul.lst-kix_l7z426mwssm0-1 { list-style-type: none } ul.lst-kix_l7z426mwssm0-2 { list-style-type: none } ul.lst-kix_l7z426mwssm0-0 { list-style-type: none } ol.lst-kix_yly1729bcywk-8.start { counter-reset: lst-ctn-kix_yly1729bcywk-8 0 } .lst-kix_ne7nl4nhpzqr-2>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-2 } .lst-kix_q8ok0mh9yyto-3>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-3, lower-latin) ") " } .lst-kix_pcjo479wrta-7>li:before { content: "\0025cb " } .lst-kix_686a8e4qhxwx-8>li:before { content: "\0025a0 " } .lst-kix_emhp84jkv42c-6>li { counter-increment: lst-ctn-kix_emhp84jkv42c-6 } ul.lst-kix_l7z426mwssm0-7 { list-style-type: none } ul.lst-kix_l7z426mwssm0-8 { list-style-type: none } .lst-kix_q8ok0mh9yyto-2>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-2, decimal) ". " } .lst-kix_pcjo479wrta-8>li:before { content: "\0025a0 " } ul.lst-kix_l7z426mwssm0-5 { list-style-type: none } ul.lst-kix_l7z426mwssm0-6 { list-style-type: none } ul.lst-kix_l7z426mwssm0-3 { list-style-type: none } ul.lst-kix_l7z426mwssm0-4 { list-style-type: none } .lst-kix_yly1729bcywk-8>li { counter-increment: lst-ctn-kix_yly1729bcywk-8 } .lst-kix_vf0l197cqv6l-3>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-3 } .lst-kix_q8ok0mh9yyto-6>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-6, lower-roman) ") " } .lst-kix_4m04az9jmmj8-2>li:before { content: "\0025a0 " } .lst-kix_4m04az9jmmj8-6>li:before { content: "\0025cf " } .lst-kix_q8ok0mh9yyto-7>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-7, lower-latin) ") " } .lst-kix_4m04az9jmmj8-1>li:before { content: "\0025cb " } .lst-kix_4m04az9jmmj8-5>li:before { content: "\0025a0 " } ol.lst-kix_vf0l197cqv6l-5.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-5 0 } .lst-kix_ne7nl4nhpzqr-8>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-8, lower-roman) ". " } .lst-kix_xv318blpjdo-4>li { counter-increment: lst-ctn-kix_xv318blpjdo-4 } .lst-kix_vf0l197cqv6l-8>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-8 } .lst-kix_ne7nl4nhpzqr-5>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-5, lower-roman) ". " } .lst-kix_l7z426mwssm0-1>li:before { content: "\0025cb " } .lst-kix_x1epm4iu41dp-7>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-1>li { counter-increment: lst-ctn-kix_yly1729bcywk-1 } .lst-kix_6qnkx7t1adn9-4>li:before { content: "\0025cb " } .lst-kix_6qnkx7t1adn9-8>li:before { content: "\0025a0 " } .lst-kix_xv318blpjdo-6>li { counter-increment: lst-ctn-kix_xv318blpjdo-6 } ol.lst-kix_jj5w63toozfm-1.start { counter-reset: lst-ctn-kix_jj5w63toozfm-1 0 } .lst-kix_ne7nl4nhpzqr-1>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-1, lower-latin) ". " } .lst-kix_pcjo479wrta-4>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-8.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-8 0 } .lst-kix_bfzyeb917dp8-4>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-4, decimal) ") " } .lst-kix_x1epm4iu41dp-3>li:before { content: "\0025cf " } .lst-kix_fd1rucpc9vz2-8>li:before { content: "\0025a0 " } .lst-kix_bfzyeb917dp8-8>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-8, lower-roman) ") " } .lst-kix_fy6y7gyjejoh-2>li:before { content: "\0025a0 " } .lst-kix_fy6y7gyjejoh-6>li:before { content: "\0025cf " } ol.lst-kix_1wulu3ra2vwv-8.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-8 0 } .lst-kix_pcjo479wrta-0>li:before { content: "\0025cf " } ol.lst-kix_s3mi7ukxwiwf-6.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-6 0 } ol.lst-kix_jj5w63toozfm-0.start { counter-reset: lst-ctn-kix_jj5w63toozfm-0 0 } .lst-kix_emhp84jkv42c-2>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-2, decimal) ". " } .lst-kix_emhp84jkv42c-6>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-6, lower-roman) ") " } .lst-kix_686a8e4qhxwx-0>li:before { content: "\0025cf " } .lst-kix_ndaonzmgp8vn-5>li:before { content: "\0025a0 " } .lst-kix_9jxnjym0nges-3>li:before { content: "\0025cf " } .lst-kix_opi66v2qdsjs-7>li:before { content: "\0025cb " } .lst-kix_lemcawe54w5c-7>li:before { content: "\0025cb " } .lst-kix_ndaonzmgp8vn-1>li:before { content: "\0025cb " } .lst-kix_gyhqddkw9i05-7>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-6>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-6, decimal) ". " } .lst-kix_u0uqs69v9qbh-3>li:before { content: "\0025cf " } .lst-kix_fd1rucpc9vz2-0>li:before { content: "\0025cf " } .lst-kix_fd1rucpc9vz2-4>li:before { content: "\0025cb " } ol.lst-kix_s3mi7ukxwiwf-5.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-5 0 } .lst-kix_opi66v2qdsjs-3>li:before { content: "\0025cf " } .lst-kix_lemcawe54w5c-3>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-3>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-7>li:before { content: "\0025cb " } .lst-kix_l7z426mwssm0-5>li:before { content: "\0025a0 " } .lst-kix_u0uqs69v9qbh-7>li:before { content: "\0025cb " } .lst-kix_bfzyeb917dp8-0>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-0, upper-roman) ". " } .lst-kix_11a9ub9xa97v-1>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-1, upper-latin) ". " } .lst-kix_gyhqddkw9i05-3>li:before { content: "\0025cf " } .lst-kix_9jxnjym0nges-7>li:before { content: "\0025cb " } .lst-kix_11a9ub9xa97v-5>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-5, lower-latin) ") " } ol.lst-kix_11a9ub9xa97v-2.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-2 0 } .lst-kix_s3mi7ukxwiwf-4>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-4 } .lst-kix_7tib3jrzu2u9-4>li:before { content: "\0025cb " } .lst-kix_ne7nl4nhpzqr-5>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-5 } ol.lst-kix_xv318blpjdo-4 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-7.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-7 0 } ol.lst-kix_xv318blpjdo-5 { list-style-type: none } ol.lst-kix_xv318blpjdo-6 { list-style-type: none } ol.lst-kix_xv318blpjdo-7 { list-style-type: none } ol.lst-kix_xv318blpjdo-0 { list-style-type: none } ol.lst-kix_xv318blpjdo-1 { list-style-type: none } .lst-kix_7tib3jrzu2u9-1>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-4.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-4 0 } ol.lst-kix_xv318blpjdo-2 { list-style-type: none } ol.lst-kix_xv318blpjdo-3 { list-style-type: none } .lst-kix_q8ok0mh9yyto-6>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-6 } ul.lst-kix_5anu1k9tsyak-7 { list-style-type: none } .lst-kix_jj5w63toozfm-6>li { counter-increment: lst-ctn-kix_jj5w63toozfm-6 } ul.lst-kix_5anu1k9tsyak-8 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-5 { list-style-type: none } ol.lst-kix_yly1729bcywk-5.start { counter-reset: lst-ctn-kix_yly1729bcywk-5 0 } .lst-kix_11a9ub9xa97v-2>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-2 } ol.lst-kix_1wulu3ra2vwv-0 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-6 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-1 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-3 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-4 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-1 { list-style-type: none } .lst-kix_xv318blpjdo-3>li { counter-increment: lst-ctn-kix_xv318blpjdo-3 } ul.lst-kix_5anu1k9tsyak-2 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-6 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-0 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-7 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-8 { list-style-type: none } .lst-kix_7tib3jrzu2u9-6>li:before { content: "\0025cf " } ol.lst-kix_xv318blpjdo-8 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-2 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-3 { list-style-type: none } .lst-kix_7tib3jrzu2u9-7>li:before { content: "\0025cb " } ol.lst-kix_1wulu3ra2vwv-4 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-5 { list-style-type: none } .lst-kix_vf0l197cqv6l-4>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-4 } ol.lst-kix_1wulu3ra2vwv-5.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-5 0 } ol.lst-kix_11a9ub9xa97v-7.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-7 0 } ol.lst-kix_q8ok0mh9yyto-2.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-2 0 } .lst-kix_11a9ub9xa97v-6>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-6 } .lst-kix_5anu1k9tsyak-7>li:before { content: "\0025cb " } .lst-kix_j42a5dwgnqyq-6>li:before { content: "\0025cf " } ol.lst-kix_xv318blpjdo-2.start { counter-reset: lst-ctn-kix_xv318blpjdo-2 0 } .lst-kix_1wulu3ra2vwv-4>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-4 } .lst-kix_q8ok0mh9yyto-2>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-2 } ol.lst-kix_jj5w63toozfm-4.start { counter-reset: lst-ctn-kix_jj5w63toozfm-4 0 } .lst-kix_vf0l197cqv6l-0>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-0 } ol.lst-kix_yly1729bcywk-0.start { counter-reset: lst-ctn-kix_yly1729bcywk-0 0 } .lst-kix_6qnkx7t1adn9-2>li:before { content: "\0025a0 " } .lst-kix_qeqyxe7gm97l-6>li:before { content: "\0025cf " } .lst-kix_qeqyxe7gm97l-4>li:before { content: "\0025cb " } .lst-kix_j42a5dwgnqyq-1>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-1>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-3>li:before { content: "\0025cf " } .lst-kix_j42a5dwgnqyq-4>li:before { content: "\0025cb " } ol.lst-kix_1wulu3ra2vwv-0.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-0 0 } ol.lst-kix_q8ok0mh9yyto-7.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-7 0 } .lst-kix_j42a5dwgnqyq-3>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-2>li { counter-increment: lst-ctn-kix_jj5w63toozfm-2 } ol.lst-kix_1wulu3ra2vwv-3.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-3 0 } ol.lst-kix_q8ok0mh9yyto-0.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-0 0 } .lst-kix_6qnkx7t1adn9-5>li:before { content: "\0025a0 " } .lst-kix_6qnkx7t1adn9-7>li:before { content: "\0025cb " } ol.lst-kix_yly1729bcywk-3.start { counter-reset: lst-ctn-kix_yly1729bcywk-3 0 } .lst-kix_iv2x96orjh4l-7>li:before { content: "\0025cb " } .lst-kix_pcjo479wrta-3>li:before { content: "\0025cf " } .lst-kix_yly1729bcywk-6>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-6, decimal) ". " } .lst-kix_ndaonzmgp8vn-6>li:before { content: "\0025cf " } .lst-kix_5anu1k9tsyak-1>li:before { content: "\0025cb " } .lst-kix_ndaonzmgp8vn-8>li:before { content: "\0025a0 " } .lst-kix_pcjo479wrta-1>li:before { content: "\0025cb " } .lst-kix_iv2x96orjh4l-1>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-4>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-4, lower-latin) ". " } .lst-kix_bfzyeb917dp8-8>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-8 } .lst-kix_ne7nl4nhpzqr-1>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-1 } .lst-kix_opi66v2qdsjs-4>li:before { content: "\0025cb " } .lst-kix_fd1rucpc9vz2-1>li:before { content: "\0025cb " } .lst-kix_fd1rucpc9vz2-3>li:before { content: "\0025cf " } .lst-kix_opi66v2qdsjs-6>li:before { content: "\0025cf " } ol.lst-kix_11a9ub9xa97v-4.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-4 0 } .lst-kix_xoos54gyybzj-4>li:before { content: "\0025cb " } .lst-kix_bfzyeb917dp8-1>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-1 } .lst-kix_ndaonzmgp8vn-0>li:before { content: "\0025cf " } ol.lst-kix_jj5w63toozfm-6.start { counter-reset: lst-ctn-kix_jj5w63toozfm-6 0 } .lst-kix_xoos54gyybzj-2>li:before { content: "\0025a0 " } ul.lst-kix_b7256qmdgo85-6 { list-style-type: none } ul.lst-kix_b7256qmdgo85-7 { list-style-type: none } .lst-kix_1wulu3ra2vwv-3>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-3 } ul.lst-kix_b7256qmdgo85-8 { list-style-type: none } ul.lst-kix_b7256qmdgo85-2 { list-style-type: none } ul.lst-kix_b7256qmdgo85-3 { list-style-type: none } .lst-kix_11a9ub9xa97v-4>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-4, decimal) ") " } ul.lst-kix_b7256qmdgo85-4 { list-style-type: none } ul.lst-kix_b7256qmdgo85-5 { list-style-type: none } .lst-kix_f5kb4hocu5hh-1>li:before { content: "\0025cb " } .lst-kix_11a9ub9xa97v-2>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-2, decimal) ". " } .lst-kix_9jxnjym0nges-4>li:before { content: "\0025cb " } .lst-kix_86hsx13ssqid-4>li:before { content: "\0025cb " } ul.lst-kix_b7256qmdgo85-0 { list-style-type: none } ul.lst-kix_b7256qmdgo85-1 { list-style-type: none } .lst-kix_9jxnjym0nges-6>li:before { content: "\0025cf " } .lst-kix_86hsx13ssqid-2>li:before { content: "\0025a0 " } .lst-kix_bfzyeb917dp8-5>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-5 } .lst-kix_h0kibz3smj6t-6>li:before { content: "\0025cf " } .lst-kix_11a9ub9xa97v-3>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-3 } ol.lst-kix_11a9ub9xa97v-5.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-5 0 } ul.lst-kix_x1epm4iu41dp-0 { list-style-type: none } .lst-kix_f5kb4hocu5hh-4>li:before { content: "\0025cb " } ol.lst-kix_xv318blpjdo-0.start { counter-reset: lst-ctn-kix_xv318blpjdo-0 0 } .lst-kix_jkgkf1u9sy0c-0>li:before { content: "\0025cf " } .lst-kix_f5kb4hocu5hh-7>li:before { content: "\0025cb " } ul.lst-kix_x1epm4iu41dp-6 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-5 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-8 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-3>li:before { content: "\0025cf " } ul.lst-kix_x1epm4iu41dp-7 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-2 { list-style-type: none } .lst-kix_xv318blpjdo-0>li { counter-increment: lst-ctn-kix_xv318blpjdo-0 } ol.lst-kix_jj5w63toozfm-8.start { counter-reset: lst-ctn-kix_jj5w63toozfm-8 0 } ul.lst-kix_x1epm4iu41dp-1 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-4 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-3 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-2.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-2 0 } .lst-kix_686a8e4qhxwx-6>li:before { content: "\0025cf " } .lst-kix_s3mi7ukxwiwf-5>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-5 } .lst-kix_h0kibz3smj6t-1>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-6>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-6, lower-roman) ") " } ul.lst-kix_86hsx13ssqid-3 { list-style-type: none } ul.lst-kix_86hsx13ssqid-2 { list-style-type: none } .lst-kix_xv318blpjdo-3>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-3, lower-latin) ") " } ul.lst-kix_86hsx13ssqid-5 { list-style-type: none } ul.lst-kix_86hsx13ssqid-4 { list-style-type: none } .lst-kix_686a8e4qhxwx-1>li:before { content: "\0025cb " } ol.lst-kix_yly1729bcywk-2.start { counter-reset: lst-ctn-kix_yly1729bcywk-2 0 } ul.lst-kix_86hsx13ssqid-1 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-8>li:before { content: "\0025a0 " } ul.lst-kix_86hsx13ssqid-0 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-0 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-1 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-2 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-3 { list-style-type: none } .lst-kix_b7256qmdgo85-1>li:before { content: "\0025cb " } ul.lst-kix_86hsx13ssqid-7 { list-style-type: none } ul.lst-kix_h9mjmxara98n-0 { list-style-type: none } ul.lst-kix_86hsx13ssqid-6 { list-style-type: none } ul.lst-kix_86hsx13ssqid-8 { list-style-type: none } ul.lst-kix_h9mjmxara98n-3 { list-style-type: none } .lst-kix_4m04az9jmmj8-8>li:before { content: "\0025a0 " } ul.lst-kix_fy6y7gyjejoh-8 { list-style-type: none } ul.lst-kix_h9mjmxara98n-4 { list-style-type: none } ul.lst-kix_h9mjmxara98n-1 { list-style-type: none } ul.lst-kix_h9mjmxara98n-2 { list-style-type: none } ul.lst-kix_h9mjmxara98n-7 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-4 { list-style-type: none } ul.lst-kix_h9mjmxara98n-8 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-5 { list-style-type: none } ul.lst-kix_h9mjmxara98n-5 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-6 { list-style-type: none } ul.lst-kix_h9mjmxara98n-6 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-7 { list-style-type: none } .lst-kix_b7256qmdgo85-6>li:before { content: "\0025cf " } ol.lst-kix_yly1729bcywk-1.start { counter-reset: lst-ctn-kix_yly1729bcywk-1 0 } ol.lst-kix_1wulu3ra2vwv-1.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-1 0 } .lst-kix_ne7nl4nhpzqr-8>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-8 } .lst-kix_q97rvvc7c69e-0>li:before { content: "\0025cf " } .lst-kix_q8ok0mh9yyto-1>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-1, upper-latin) ". " } .lst-kix_4m04az9jmmj8-0>li:before { content: "\0025cf " } ol.lst-kix_11a9ub9xa97v-6.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-6 0 } .lst-kix_q8ok0mh9yyto-4>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-4, decimal) ") " } .lst-kix_emhp84jkv42c-0>li { counter-increment: lst-ctn-kix_emhp84jkv42c-0 } .lst-kix_q8ok0mh9yyto-5>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-5 } ul.lst-kix_lemcawe54w5c-7 { list-style-type: none } ul.lst-kix_lemcawe54w5c-8 { list-style-type: none } .lst-kix_ne7nl4nhpzqr-6>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-6, decimal) ". " } ul.lst-kix_lemcawe54w5c-5 { list-style-type: none } ul.lst-kix_lemcawe54w5c-6 { list-style-type: none } ul.lst-kix_lemcawe54w5c-3 { list-style-type: none } ul.lst-kix_lemcawe54w5c-4 { list-style-type: none } ul.lst-kix_lemcawe54w5c-1 { list-style-type: none } ul.lst-kix_lemcawe54w5c-2 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-1>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-1 } ul.lst-kix_lemcawe54w5c-0 { list-style-type: none } .lst-kix_4m04az9jmmj8-3>li:before { content: "\0025cf " } ul.lst-kix_f5kb4hocu5hh-4 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-3 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-6 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-5 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-8 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-7 { list-style-type: none } .lst-kix_xv318blpjdo-7>li { counter-increment: lst-ctn-kix_xv318blpjdo-7 } ol.lst-kix_xv318blpjdo-7.start { counter-reset: lst-ctn-kix_xv318blpjdo-7 0 } .lst-kix_gfromclascha-1>li:before { content: "\0025cb " } .lst-kix_86hsx13ssqid-7>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-0>li { counter-increment: lst-ctn-kix_yly1729bcywk-0 } .lst-kix_ne7nl4nhpzqr-3>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-3, decimal) ". " } ol.lst-kix_q8ok0mh9yyto-3.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-3 0 } .lst-kix_1wulu3ra2vwv-7>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-7 } ul.lst-kix_f5kb4hocu5hh-0 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-2 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-1 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-0 { list-style-type: none } .lst-kix_fy6y7gyjejoh-0>li:before { content: "\0025cf " } ul.lst-kix_fd1rucpc9vz2-1 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-2 { list-style-type: none } .lst-kix_yly1729bcywk-1>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-1, lower-latin) ". " } ul.lst-kix_fd1rucpc9vz2-3 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-6.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-6 0 } ul.lst-kix_fd1rucpc9vz2-8 { list-style-type: none } .lst-kix_pcjo479wrta-6>li:before { content: "\0025cf " } .lst-kix_bfzyeb917dp8-6>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-6, lower-roman) ") " } .lst-kix_6ril5iwt0fcl-3>li:before { content: "\0025cf " } ul.lst-kix_fd1rucpc9vz2-4 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-5 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-6 { list-style-type: none } .lst-kix_fd1rucpc9vz2-6>li:before { content: "\0025cf " } ul.lst-kix_fd1rucpc9vz2-7 { list-style-type: none } .lst-kix_5anu1k9tsyak-4>li:before { content: "\0025cb " } .lst-kix_vf0l197cqv6l-7>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-7 } .lst-kix_s3mi7ukxwiwf-8>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-8 } .lst-kix_iv2x96orjh4l-4>li:before { content: "\0025cb " } .lst-kix_s3mi7ukxwiwf-6>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-6, decimal) ". " } .lst-kix_fy6y7gyjejoh-8>li:before { content: "\0025a0 " } ol.lst-kix_xv318blpjdo-4.start { counter-reset: lst-ctn-kix_xv318blpjdo-4 0 } .lst-kix_x1epm4iu41dp-1>li:before { content: "\0025cb " } .lst-kix_q97rvvc7c69e-8>li:before { content: "\0025a0 " } ol.lst-kix_xv318blpjdo-5.start { counter-reset: lst-ctn-kix_xv318blpjdo-5 0 } ul.lst-kix_8p26nc4xx5n8-0 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-1 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-2 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-3 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-4 { list-style-type: none } .lst-kix_emhp84jkv42c-0>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-0, upper-roman) ". " } .lst-kix_emhp84jkv42c-8>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-8, lower-roman) ") " } .lst-kix_9jxnjym0nges-1>li:before { content: "\0025cb " } .lst-kix_xoos54gyybzj-7>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-5.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-5 0 } .lst-kix_ndaonzmgp8vn-3>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-8>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-8, lower-roman) ". " } .lst-kix_u0uqs69v9qbh-1>li:before { content: "\0025cb " } .lst-kix_opi66v2qdsjs-1>li:before { content: "\0025cb " } .lst-kix_lemcawe54w5c-1>li:before { content: "\0025cb " } .lst-kix_11a9ub9xa97v-7>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-7, lower-latin) ") " } .lst-kix_8p26nc4xx5n8-5>li:before { content: "\0025a0 " } ol.lst-kix_xv318blpjdo-6.start { counter-reset: lst-ctn-kix_xv318blpjdo-6 0 } .lst-kix_l7z426mwssm0-7>li:before { content: "\0025cb " } .lst-kix_1wulu3ra2vwv-0>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-0 } .lst-kix_gyhqddkw9i05-5>li:before { content: "\0025a0 " } .lst-kix_hchtl271h88l-2>li:before { content: "\0025a0 " } ul.lst-kix_6qnkx7t1adn9-8 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-4.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-4 0 } ul.lst-kix_6qnkx7t1adn9-7 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-5 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-6 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-6 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-5 { list-style-type: none } .lst-kix_sholqrhc62dh-3>li:before { content: "\0025cf " } ul.lst-kix_8p26nc4xx5n8-7 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-4 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-8 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-3 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-2 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-1 { list-style-type: none } .lst-kix_1wulu3ra2vwv-1>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-1, upper-latin) ". " } ul.lst-kix_6qnkx7t1adn9-0 { list-style-type: none } ol { margin: 0; padding: 0 } table td, table th { padding: 0 } .c4 { color: #ff5e0e; font-weight: 700; text-decoration: none; vertical-align: baseline; font-size: 18pt; font-family: "PT Sans Narrow"; font-style: normal } .c7 { color: #38761d; font-weight: 400; text-decoration: none; vertical-align: baseline; font-size: 16pt; font-family: "PT Sans Narrow"; font-style: normal } .c14 { color: #695d46; font-weight: 700; text-decoration: none; vertical-align: baseline; font-size: 42pt; font-family: "PT Sans Narrow"; font-style: normal } .c0 { color: #695d46; font-weight: 400; text-decoration: none; vertical-align: baseline; font-size: 11pt; font-family: "Open Sans"; font-style: normal } .c1 { padding-top: 6pt; padding-bottom: 0pt; line-height: 1.2; orphans: 2; widows: 2; text-align: left } .c8 { padding-top: 18pt; padding-bottom: 6pt; line-height: 1.2; page-break-after: avoid; text-align: left } .c11 { padding-top: 24pt; padding-bottom: 0pt; line-height: 1.3; page-break-after: avoid; text-align: left } .c17 { padding-top: 6pt; padding-bottom: 0pt; line-height: 1.2; page-break-after: avoid; text-align: left } .c19 { text-decoration: none; vertical-align: baseline; font-size: 12pt; font-style: normal } .c9 { padding-top: 16pt; padding-bottom: 0pt; line-height: 1.0; text-align: left } .c18 { padding-top: 0pt; padding-bottom: 0pt; line-height: 1.2; text-align: left } .c10 { font-size: 18pt; font-family: "PT Sans Narrow"; color: #ff5e0e; font-weight: 700 } .c13 { font-family: "Open Sans"; color: #695d46; font-weight: 400 } .c12 { background-color: #ffffff; max-width: 468pt; padding: 72pt 72pt 72pt 72pt } .c5 { padding: 0; margin: 0 } .c15 { color: inherit; text-decoration: inherit } .c16 { color: #1155cc; text-decoration: underline } .c3 { padding-left: 0pt } .c6 { margin-left: 72pt } .c2 { margin-left: 36pt } .title { padding-top: 0pt; color: #695d46; font-size: 26pt; padding-bottom: 3pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } .subtitle { padding-top: 0pt; color: #666666; font-size: 15pt; padding-bottom: 16pt; font-family: "Arial"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } li { color: #695d46; font-size: 11pt; font-family: "Open Sans" } p { margin: 0; color: #695d46; font-size: 11pt; font-family: "Open Sans" } h1 { padding-top: 24pt; color: #ff5e0e; font-weight: 700; font-size: 18pt; padding-bottom: 0pt; font-family: "PT Sans Narrow"; line-height: 1.3; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h2 { padding-top: 18pt; color: #38761d; font-size: 16pt; padding-bottom: 6pt; font-family: "PT Sans Narrow"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h3 { padding-top: 16pt; color: #434343; font-size: 14pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h4 { padding-top: 14pt; color: #666666; font-size: 12pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h5 { padding-top: 12pt; color: #666666; font-size: 11pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h6 { padding-top: 12pt; color: #666666; font-size: 11pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; font-style: italic; orphans: 2; widows: 2; text-align: left }  

Oracle Fusion Middleware Deployments Using Docker Swarm Part III

Overview

This is the third in a series of blogs that describe how to build a Fusion Middleware (FMW) Cluster that runs as a number of Docker images that run in docker containers.  These containers are coordinated using Docker Swarm and can be deployed to a single host machine or multiple hosts.  This simplifies the task of building FMW clusters and also makes it easier to scale them in and out (adding or subtracting host machines) as well as up and down (using bigger or smaller host machines).  Using docker also helps us to avoid port conflicts when running multiple servers on the same physical machine.  When we use swarm we will see that we also get benefits from a built in load balancer.

This blog uses Oracle Service Bus as an FMW product but the principles are applicable to other FMW products.

In our previous blog we talked about how to build the required docker images for running FMW on Docker Swarm and created a database container.

In this entry we will explain how to create an FMW domain image and how to run that in a docker container.  The next blog will cover how to run this in Docker Swarm.

Key Steps in Creating a Service Bus Cluster

When creating a service bus cluster we need to do the following:

  1. Create the required schemas in a database.
  • Service Bus 12.1 adds a number of new features such as re-sequencing that require the use of SOA Suite schemas.  These are in addition to the database requirements for Web Services Security Manager that existed in Service Bus 11g.
  • The Repository Creation Utility is used to create the schemas in a database.
  1. Create service bus domain.
  • The service bus domain contains all the required service bus binaries and associated configuration.  Within the domain we will create a service bus cluster.
  • The domain can be created using the WebLogic scripting tool by applying the service bus domain template.
  1. Create a Service Bus cluster within the domain.
  • The service bus cluster allows us to have multiple service bus servers running the same proxy services and sharing the load.
  • The cluster can be created and servers assigned using the WebLogic scripting tool.

These steps need to be factored into the way we build our docker images and containers and ultimately into how we create Docker Swarm services.

Mapping the Service Bus Cluster onto Docker

There are a number of ways in which we could map a Service Bus cluster onto Docker.  We have chosen the following approach:

  • Create a Docker image that contains the Service Bus domain configuration.
  • This is layered on top of the OSB installation image.  This allows us to modify and rebuild the scripts without having to reinstall the FMW software.  This speeds up the development cycle of the image.  Once the scripts are working they could be placed in the FMW binary image, reducing the number of layers.
  • When creating a container from the image we run the RCU to create the schemas in the database.  We also run scripts to create the domain and add servers to the domain as needed.
  • The same Docker image is used for both Admin and Managed Servers.
  • Depending on parameters the container decides if it is an admin server or a member of a cluster.
  • All servers need access to the database.
  • All servers need access to the Admin server.
  • The admin server requires access to all servers.
Container Summary

We effectively have two images, which are both built from multiple layers as explained previously.

  1. Database image holds the binaries for database and scripts to create a database instance.
  2. Fusion Middleware image holds the FMW binaries and scripts to create a domain, or extend an existing domain.

We have a single Docker Container to run the database from the database image.

We have multiple Docker Containers, one per managed server, to run Fusion Middleware from the single domain image.

To simplify starting the containers the git project includes run scripts (run.sh for database and runNode.sh for FMW) that can be used to create containers.

Database Container

The database container runs from the database image and has the following characteristics:

  • When the container is created it creates and starts a database instance.
  • After starting the database we change the database password.
  • When the container is stopped it shuts down the database instance.
  • When the container is started it starts the database instance.
  • The database container exposes the database port (1521 in this case)
  • Only a single container runs a given database.

The database container is started using the following command:

docker run -d -it --name Oracle12cDB --hostname osbdb -p 1521:1521 -p 5500:5500 -e ORACLE_SID=ORCL -e ORACLE_PDB=OSB -v /opt/oracle/oradata/OracleDB oracle/database:12.1.0.2-ee

We expose ports 1521 (database) and 5500 (em).

Admin Server Container

The admin server container runs from the FMW domain image, or just the FMW image if the layers have been collapsed.  It has the following characteristics:

  • When the container is created it runs the RCU to configure the database.
  • When the container is created it creates an FMW domain and cluster.
  • When the container is created it starts the Admin Server.
  • When the container is stopped its stops the Admin Server.
  • When the container is started it starts the Admin Server.
  • The Admin Server exposes the admin console port (7001 in this case)
  • Only a single Admin Server container runs in a given domain.
  • The same image is used for both Admin and Managed Servers.

We start the admin server using the following command

runNode.sh admin

This translates to

docker run -d -it \

        -e "MS_NAME=AdminServer" \

        -e "MACHINE_NAME=AdminServerMachine" \

        --name wlsadmin \

        --add-host osbdb:172.17.0.2 \

        --add-host wlsadmin:172.17.0.3 \

        --add-host wls1:172.17.0.4 \

        --add-host wls2:172.17.0.5 \

        --add-host wls3:172.17.0.6 \

        --add-host wls4:172.17.0.7 \

        --hostname wlsadmin \

        -p 7001:7001 \

        oracle/osb_domain:12.2.1.2 \

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

We need to add the hostnames of the managed servers and the database to the /etc/hosts file so that the admin server can access them.  We will show how to avoid doing this in the final blog post.

Managed Server Containers

The managed server containers runs from the same FMW domain image as the Admin Server.  It has the following characteristics:

  • When the container is created it creates a new server in the domain and adds it to the FMW cluster
  • When the container is created it creates a local copy of the domain files.
  • When the container is created it starts the Managed Server.
  • When the container is stopped its stops the Managed Server.
  • When the container is started it starts the Managed Server.
  • The Managed Server exposes the admin console port (8011 in this case)
  • Multiple Managed Server containers may run in a given domain.
  • The same image is used for both Admin and Managed Servers.

We start the managed servers using the following command

runNode.sh N

Where N is the number of the managed server.

When N=2 this  translates to

docker run -d -it \

        -e "MS_NAME=osb_server2" \

        -e "MACHINE_NAME=OsbServer2Machine" \

        --name wls2 \

        --add-host osbdb:172.17.0.2 \

        --add-host wlsadmin:172.17.0.3 \

        --add-host wls1:172.17.0.4 \

        --add-host wls2:172.17.0.5 \

        --add-host wls3:172.17.0.6 \

        --add-host wls4:172.17.0.7 \

        --hostname wlsadmin \

        -p 8013:8011 \

        oracle/osb_domain:12.2.1.2 \

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

Note that all the managed servers listen on port 8011.  Because they each run in their own container their is no conflict in their port numbers but we need to map them so that they can be accessed externally without conflicts. Special Notes for Service Bus

The first managed server in a Service Bus cluster is special because it runs singleton tasks related to reporting, collecting performance information from other nodes in the cluster and aggregating it and making it available to the console.  Because of this we decided to always create a Service Bus domain with a pre-existing single Managed Server in the cluster with the correct singleton targeting.

Because this server already exists if a container detects it is supposed to run Managed Server 1 then it does not create the server or associate it with a cluster, it justs assigns it to a machine (see next section for details) and creates the local managed server domain.

Containers and FMW Mapping

Each container maps to a single WebLogic server, either Admin Server or a Managed Server in a cluster.

The Admin Server container is responsible for running the repository configuration utility, creating the domain and configuring it for that particular FMW product (in our case Service Bus).

The Managed Server containers are responsible for adding a new Managed Server to the cluster and creating a local managed server domain.

Both Admin and Managed Server containers need to figure out key facts about themselves:

  • Hostname - used to set the listen address for the server and also the address of the machine
  • Type - admin or managed server to decide what to do on creation
  • Server identifier - managed servers need to make sure they have unique server names.
  • Associated Admin Server - managed servers must contact the admin server to obtain and update domain configuration.
  • Database Server - admin servers must know about the database to be able to run the RCU and create data sources required by the FMW product.
Starting the FMW Cluster

The FMW cluster is started as follows:

  1. A database container is created/started
  2. An admin server is created/started
  3. One or more managed servers are created/started

Containers are created using the “docker run” command.  We use the “-d” flag to run them as daemon processes.  By default the CMD directive in the dockerfile is used choose the command or script to run on container startup.  We use this for the database container.  For the admin and managed containers we identify which type of container they are and pass in an appropriate script to the “docker run” command.

Containers are started using the “docker start” command and the container uses the same command or script as when it was created.  That means we must detect if this is a new container or a container being started after previously being shutdown.  With the FMW containers we do this by looking for the existence of the domain directory, if it exists we have previously been started, if not this must be our first run.

Tools such as docker compose and docker compose simplify the task of deploying our multiple container FMW cluster and we will look at these in the next blog entry.  One of the benefits we will find with swarm is that it includes a load balancer.  The current multi-container approach would require either another container to run a load balancer or an external load balancer, we will see that swarm removes this need.

Retrieving Docker Files for OSB Cluster

We are posting all the required files to go along with this blog on github.  You are welcome to fork from this and improve it.  We cloned many of these files from the official Oracle docker github.  We removed unused versions and added a simplified build.sh file to each product directory to make it easy to see how we actually built our environment.  We are still updating the files online and will shortly add details on building the swarm services.

Summary

In this entry we have explained how to create a Fusion Middleware Domain and run it on docker containers.  In our next entry we will simplify the deploymentof of our cluster by taking advatage of swarm mode by defining swarm services for the database, WebLogic Admin Server and WebLogic managed servers.

SQLcl: Make NULLs “visible”

Galo Balda's Blog - Sun, 2017-03-12 21:40

One of the nice features in SQL Developer is to be able to define a value to replace NULLs (for display purpose only) in the data grids. Jeff Smith has a blog post about it in case you are interested.

You can achieve something similar in your SQLcl session by using set null some_string.

And here is  the output from a query after setting the system variable.

 


Filed under: Oracle, SQLcl Tagged: Oracle, SQLcl
Categories: DBA Blogs

Introduction to SequoiaDB and SequoiaCM

DBMS2 - Sun, 2017-03-12 13:19

For starters, let me say:

  • SequoiaDB, the company, is my client.
  • SequoiaDB, the product, is the main product of SequoiaDB, the company.
  • SequoiaDB, the company, has another product line SequoiaCM, which subsumes SequoiaDB in content management use cases.
  • SequoiaDB, the product, is fundamentally a JSON data store. But it has a relational front end …
  • … and is usually sold for RDBMS-like use cases …
  • … except when it is sold as part of SequoiaCM, which adds in a large object/block store and a content-management-oriented library.
  • SequoiaDB’s products are open source.
  • SequoiaDB’s largest installation seems to be 2 PB across 100 nodes; that includes block storage.
  • Figures for DBMS-only database sizes aren’t as clear, but the sweet spot of the cluster-size range for such use cases seems to be 6-30 nodes.

Also:

  • SequoiaDB, the company, was founded in Toronto, by former IBM DB2 folks.
  • Even so, it’s fairly accurate to view SequoiaDB as a Chinese company. Specifically:
    • SequoiaDB’s founders were Chinese nationals.
    • Most of them went back to China.
    • Other employees to date have been entirely Chinese.
    • Sales to date have been entirely in China, but SequoiaDB has international aspirations
  • SequoiaDB has >100 employees, a large majority of which are split fairly evenly between “engineering” and “implementation and technical support”.
  • SequoiaDB’s marketing (as opposed to sales) department is astonishingly tiny.
  • SequoiaDB cites >100 subscription customers, including 10 in the global Fortune 500, a large fraction of which are in the banking sector. (Other sectors mentioned repeatedly are government and telecom.)

Unfortunately, SequoiaDB has not captured a lot of detailed information about unpaid open source production usage.

While I usually think that the advantages of open source are overstated, in SequoiaDB’s case open source will have an additional benefit when SequoiaDB does go international — it addresses any concerns somebody might have about using Chinese technology.

SequoiaDB’s technology story starts:

  • SequoiaDB is a layered DBMS.
  • It manages JSON via update-in-place. MVCC (Multi-Version Concurrency Control) is on the roadmap.
  • Indexes are B-tree.
  • Transparent sharding and elasticity happen in what by now is the industry-standard/best-practices way:
    • There are many (typically 4096) logical partitions, many of which are assigned to each physical partition.
    • If the number of physical partitions changes, logical partitions are reassigned accordingly.
  • Relational OLTP (OnLine Transaction Processing) functionality is achieved by using a kind of PostgreSQL front end.
  • Relational batch processing is done via SparkSQL.
  • There also is a block/LOB (Large OBject) storage engine meant for content management applications.
  • SequoiaCM boils down technically to:
    • SequoiaDB, which is used to store JSON metadata about the LOBs …
    • … and whose generic-DBMS coordination capabilities are also used over the block/LOB engine.
    • A Java library focused on content management.

SequoiaDB’s relationship with PostgreSQL is complicated, but as best I understand SequoiaDB’s relational operations:

  • SQL parsing, optimization, and so on rely mainly on PostgreSQL code. (Of course, there are some hacks, such as to the optimizer’s cost functions.)
  • Actual data storage is done via SequoiaDB’s JSON store, using PostgreSQL Foreign Data Wrappers. Each record goes in a separate JSON document. Locks, commits and so on — i.e. “write prevention” :) — are handled by the JSON store.
  • PostgreSQL’s own storage engine is actually part of the stack, but only to manage temp space and the like.

PostgreSQL stored procedures are already in the SequoiaDB product. Triggers and referential integrity are not. Neither, so far as I can tell, are PostgreSQL’s datatype extensibility capabilities.

I neglected to ask how much of that remains true when SparkSQL is invoked.

SequoiaDB’s use cases to date seem to fall mainly into three groups:

  • Content management via SequoiaCM.
  • “Operational data lakes”.
  • Pretty generic replacement of legacy RDBMS.

Internet back-ends, however — and this is somewhat counter-intuitive for an open-source JSON store — are rare, at least among paying subscription customers. But SequoiaDB did tell me of one classic IoT (Internet of Things) application, with lots of devices “phoning home” and the results immediately feeding a JSON-based dashboard.

To understand SequoiaDB’s “operational data lake” story, it helps to understand the typical state of data warehousing at SequoiaDB’s customers and prospects, which isn’t great:

  • 2-3 years of data, and not all the data even from that time period.
  • Only enough processing power to support structured business intelligence …
  • … and hence little opportunity for ad-hoc query.

SequoiaDB operational data lakes offer multiple improvements over that scenario:

  • They hold as much relational data as customers choose to dump there.
  • That data can be simply copied from operational stores, with no transformation.
  • Or if data arrives via JSON — from external organizations or micro-services as the case may be — the JSON can be stored unmodified as well.
  • Queries can be run straight against this data soup.
  • Of course, views can also be set up in advance to help with querying.

Views are particularly useful with what might be called slowly changing schemas. (I didn’t check whether what SequoiaDB is talking about matches precisely with the more common term “slowly changing dimensions”.) Each time the schema changes, a new table is created in SequoiaDB to receive copies of the data. If one wants to query against the parts of the database structure that didn’t change — well, a view can be establish to allow for that.

Finally, it seems that SequoiaCM uses are concentrated in what might be called “security and checking-up” areas, such:

  • Photographs as part of an authentication process.
  • Video of in-person banking transactions, both for fraud prevention and for general service quality assurance.
  • Storage of security videos (for example from automated teller machines).

SequoiaCM deals seem to be bigger than other SequoiaDB ones, surely in part because the amounts of data managed are larger.

Categories: Other

Google Cloud Platform instances and Oracle database performance

Yann Neuhaus - Sun, 2017-03-12 13:00

When it comes to choose a cloud instance to run Oracle Database, you want to be able to run your workload on the minimum CPU cores. This is why in a previous post I measured how many logical reads per seconds can be achieved with a SLOB workload, on AWS which is often the first considered, and will probably do it on Azure in the future. I did the same on the Oracle Cloud which is the only one where Oracle make it easy to run an license the Oracle Database.

CaptureGCPlogoPNGToday, I’ve seen that the Google Cloud offers a 1 year trial (1 year instead of 3 months) with 300$ free credits where you are sure that your credit card will not be debited before you accept it. Of course I wanted to play with it and tested the IaaS instance types with same method: SLOB.

Licencing No-Go

I said ‘play with it’ because you cannot consider Google Cloud as a platform for Oracle Database. Not because of the Google Cloud: it is on the top 3 cloud vendors with AWS and Azure. But just because Oracle doesn’t want to:

  • It is not an ‘authorized cloud’ where Oracle accepts the virtual cores as a metric
  • It is not running with an hypervisor where Oracle accepts the virtual cores as a metric
  • It is not the Oracle Cloud where Oracle accepts to count the virtual cores, and even apply the core factor

So, the sad truth is that if you want to run an Oracle Database on the Google Cloud, you may have to pay Oracle Licences to cover the whole physical infrastructure of Google data center… This is clearly a No-Go for processor metrics licenses. You may think about NUP+ licensing where the metric is not the processors, but the number of users. This was possible for Standard Edition for 11g (and for 12.1.0.1 but this is out of support now). But with 12.1.0.2 they changed the Standard Edition rules and, even when the metric is the number of users, you have to count the number of servers. This is again a No-Go for a public cloud environment.

So let’s play in the hope that one day the rules will change. For the moment, they think that this strategy will push the current Oracle Database users to the Oracle Cloud. They may realize one day that it increases the counterflow of users going to Open Source databases to run away from those arbitrary licensing rules.

Machine types

There are 3 types of processors available for Europe (datacenter in Brussels) Sandy Bridge, Ivy Bridge and Haswell. The regions are detailed in regions-zones documentation and there is more detail in machine_types.

Ivy Brige

Here I choose europe-west1-c and created an VM running RHEL7 on 4 vCPU Ivy Brige:

CaptureGCP00Ivy

Note that the price is the same for all kind of processors within the same region.

SLOB

Here is cached SLOB (UPDATE_PCT=0 RUN_TIME=300 SCALE=80M WORK_UNIT=64)

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 1.0 30.3 0.00 4.74
DB CPU(s): 1.0 29.4 0.00 4.59
Redo size (bytes): 14,254.9 433,831.2
Logical read (blocks): 674,052.6 20,513,983.3

This is 674 kLIOPS per vCPU.

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 2.0 25.0 0.00 7.24
DB CPU(s): 2.0 24.6 0.00 7.11
Logical read (blocks): 1,377,553.4 17,267,173.0

This is 689 kLIOPS per vCPU. We are running on two cores

Now, let’s see if those 4 VCPUs are threads or cores.

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 3.0 1.6 0.00 12.10
DB CPU(s): 2.9 1.6 0.00 11.93
Logical read (blocks): 1,493,775.4 815,084.0

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 4.0 54.6 0.00 13.80
DB CPU(s): 4.0 54.0 0.00 13.64
Logical read (blocks): 1,780,041.3 24,329,604.1

This is 498 kLIOPS per vCPU with 3 threads and 445 kLIOPS per vCPU with 4 threads. We are obviously running on 2 hyper-threaded cores, where hyper-threading here gives only 30% additional LIOPS.

When going further, the performance will decrease:

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 5.0 48.5 0.00 15.81
DB CPU(s): 3.0 29.0 0.00 9.46
Logical read (blocks): 1,460,029.2 14,233,024.3

It is interesting to see that when running 5 sessions on 4 vCPU then actually 3 threads only are used on average.

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 6.0 72.1 0.00 16.24
DB CPU(s): 3.0 36.5 0.00 8.22
Logical read (blocks): 1,458,749.6 17,651,628.4

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 7.0 72.5 0.00 20.42
DB CPU(s): 3.0 31.5 0.00 8.86
Logical read (blocks): 1,445,423.3 15,073,622.1

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 8.0 82.9 0.00 18.93
DB CPU(s): 3.0 31.4 0.00 7.17
Logical read (blocks): 1,436,355.2 14,986,038.9

Those 8 runs are visible on the CPU usage graph from the VM dashboard where maximum CPU usage is when running 4 sessions on those 4 threads.

CaptureGCP00Ivy001

Here is the CPU description that we can see from lscpu and /proc/cpuinfo where we can see that we are virtualized with KVM:

InkedCaptureGCP00Ivy002_LI

For tty output I usually prefer to paste the text rather than a screenshot, but I wanted to show the ssh screen that you get on your browser with a simple click. This is very convenient. We are really in easy and fast provisioning here.

Haswell

Just to compare, here is the same running on the Haswell machine type.

CaptureGCP00Haswel

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 1.0 25.4 0.00 5.53
DB CPU(s): 1.0 24.4 0.00 5.32
Logical read (blocks): 598,274.2 15,275,586.5
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 2.0 27.3 0.00 8.46
DB CPU(s): 2.0 26.8 0.00 8.29
Logical read (blocks): 1,155,681.9 15,814,666.6
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 3.0 34.7 0.00 12.34
DB CPU(s): 3.0 34.2 0.00 12.18
Logical read (blocks): 1,300,659.1 15,052,978.1
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 4.0 54.6 0.00 13.80
DB CPU(s): 3.9 53.8 0.00 13.61
Logical read (blocks): 1,541,843.0 21,098,158.6

Sandy Brige

here is the same running on the Sandy Brige machine type.

CaptureGCP00Sandy


Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 1.0 25.2 0.00 2.16
DB CPU(s): 1.0 25.0 0.00 2.14
Logical read (blocks): 668,393.8 16,935,651.8
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 2.0 23.1 0.00 11.13
DB CPU(s): 2.0 22.6 0.00 10.86
Logical read (blocks): 1,204,487.9 13,938,751.4
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 3.0 37.5 0.00 13.65
DB CPU(s): 3.0 36.9 0.00 13.43
Logical read (blocks): 1,383,602.0 17,334,975.8
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 4.0 50.0 0.00 16.23
DB CPU(s): 3.9 49.3 0.00 15.98
Logical read (blocks): 1,656,216.2 20,782,477.0

So what?

Whether you like it or not, you cannot run Oracle Database on the Google Cloud because Oracle licensing rules are set to make life difficult for running Oracle Database outside of the Oracle Cloud. For performance, it is still the Oracle IaaS that shows the best performance for this test. But of course, there are lot of other points to consider. You don’t run only the database, but application should be located in the same data center.

The Google Cloud Platform looks good and I’ll probably use my Google Cloud trial to test Spanner, and maybe the new PostgreSQL service. I love Oracle Database technology. But the customers going to a public cloud will tend migrate to database systems which can run on any virtualized environments without certification, support and licensing risks.

 

Cet article Google Cloud Platform instances and Oracle database performance est apparu en premier sur Blog dbi services.

12cR1 RAC Posts -- 8b : DUPLICATE DATABASE FOR STANDBY

Hemant K Chitale - Sun, 2017-03-12 10:27
Continuing the previous post, where I have done the pre-setup...
(A reminder : This is a SingleInstance Standby on FileSystem for a RAC Database with a PDB on ASM)


On the SingleInstance Node (for the Standby database)

Precreate the required folders for the database (and redo and control) files (I later realised that the "onlinelog" folders for the SEED and PDB are not required)

[oracle@oem132 ~]$ cd /u01/app/oracle/oradata
[oracle@oem132 oradata]$ mkdir STBY
[oracle@oem132 oradata]$ cd STBY
[oracle@oem132 STBY]$ mkdir datafile
[oracle@oem132 STBY]$ mkdir onlinelog
[oracle@oem132 STBY]$ mkdir 44bbc69ce8f552aee053334ea8c07365
[oracle@oem132 STBY]$ mkdir fd9ac20f64d244d7e043b6a9e80a2f2f
[oracle@oem132 STBY]$ cd 44*
[oracle@oem132 44bbc69ce8f552aee053334ea8c07365]$ mkdir datafile tempfile
[oracle@oem132 44bbc69ce8f552aee053334ea8c07365]$ cd ../fd*
[oracle@oem132 fd9ac20f64d244d7e043b6a9e80a2f2f]$ mkdir datafile tempfile
[oracle@oem132 fd9ac20f64d244d7e043b6a9e80a2f2f]$
[oracle@oem132 STBY]$
[oracle@oem132 STBY]$ cd /u01/app/oracle/fast_recovery_area
[oracle@oem132 fast_recovery_area]$ mkdir STBY
[oracle@oem132 fast_recovery_area]$ cd STBY
[oracle@oem132 STBY]$ mkdir onlinelog
[oracle@oem132 STBY]$ mkdir 44bbc69ce8f552aee053334ea8c07365
[oracle@oem132 STBY]$ mkdir fd9ac20f64d244d7e043b6a9e80a2f2f
[oracle@oem132 STBY]$ cd 44*
[oracle@oem132 44bbc69ce8f552aee053334ea8c07365]$ mkdir onlinelog
[oracle@oem132 44bbc69ce8f552aee053334ea8c07365]$ cd ../fd*
[oracle@oem132 fd9ac20f64d244d7e043b6a9e80a2f2f]$ mkdir onlinelog
[oracle@oem132 fd9ac20f64d244d7e043b6a9e80a2f2f]$
[oracle@oem132 STBY]$

Note that the names of the two folders for the SEED and the PDB are in *lower case*.

Next start the listener for STBY.

[oracle@oem132 STBY]$ cd
[oracle@oem132 ~]$ tail -1 /etc/oratab
STBY:/u01/app/oracle/product/12.1.0/dbhome_1:N
[oracle@oem132 ~]$ . oraenv
ORACLE_SID = [oracle] ? STBY
The Oracle base has been set to /u01/app/oracle
[oracle@oem132 ~]$ ls -l $ORACLE_HOME/dbs/*STBY*
-rw-r--r-- 1 oracle oinstall 508 Mar 6 22:11 /u01/app/oracle/product/12.1.0/dbhome_1/dbs/initSTBY.ora
-rw-r----- 1 oracle oinstall 7680 Mar 6 22:13 /u01/app/oracle/product/12.1.0/dbhome_1/dbs/orapwSTBY
[oracle@oem132 ~]$ sqlplus '/ as sysdba'

SQL*Plus: Release 12.1.0.2.0 Production on Sun Mar 12 23:03:43 2017

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount
ORACLE instance started.

Total System Global Area 838860800 bytes
Fixed Size 2929936 bytes
Variable Size 230689520 bytes
Database Buffers 599785472 bytes
Redo Buffers 5455872 bytes
SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
[oracle@oem132 ~]$ lsnrctl start

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 12-MAR-2017 23:04:28

Copyright (c) 1991, 2014, Oracle. All rights reserved.

Starting /u01/app/oracle/product/12.1.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.1.0.2.0 - Production
System parameter file is /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/oem132/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oem132.racattack)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oem132.racattack)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 12-MAR-2017 23:04:28
Uptime 0 days 0 hr. 0 min. 12 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oem132/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oem132.racattack)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "STBY" has 1 instance(s).
Instance "STBY", status UNKNOWN, has 2 handler(s) for this service...
The command completed successfully
[oracle@oem132 ~]$

I am now ready to issue the DUPLICATE DATABASE command from the RAC Primary.

[oracle@collabn1 ~]$ . oraenv
ORACLE_SID = [RAC1] ? RAC1
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@collabn1 ~]$ rman

Recovery Manager: Release 12.1.0.2.0 - Production on Sun Mar 12 23:17:27 2017

Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.

RMAN> connect target sys/racattack

connected to target database: RAC (DBID=2519807290)

RMAN> connect auxiliary sys/racattack@STBY

connected to auxiliary database: RAC (not mounted)

RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE ;

Starting Duplicate Db at 12-MAR-17
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=12 device type=DISK

contents of Memory Script:
{
backup as copy reuse
targetfile '+DATA/RAC/PASSWORD/pwdrac.277.931824933' auxiliary format
'/u01/app/oracle/product/12.1.0/dbhome_1/dbs/orapwSTBY' ;
}
executing Memory Script

Starting backup at 12-MAR-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=273 instance=RAC1 device type=DISK
Finished backup at 12-MAR-17

contents of Memory Script:
{
sql clone "alter system set control_files =
''/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl'', ''/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl'' comment=
''Set by RMAN'' scope=spfile";
backup as copy current controlfile for standby auxiliary format '/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl';
restore clone primary controlfile to '/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl' from
'/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl';
sql clone "alter system set control_files =
''/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl'', ''/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl'' comment=
''Set by RMAN'' scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script

sql statement: alter system set control_files = ''/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl'', ''/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl'' comment= ''Set by RMAN'' scope=spfile

Starting backup at 12-MAR-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl tag=TAG20170312T231755
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 12-MAR-17

Starting restore at 12-MAR-17
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 12-MAR-17

sql statement: alter system set control_files = ''/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl'', ''/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl'' comment= ''Set by RMAN'' scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area 838860800 bytes

Fixed Size 2929936 bytes
Variable Size 230689520 bytes
Database Buffers 599785472 bytes
Redo Buffers 5455872 bytes

contents of Memory Script:
{
sql clone 'alter database mount standby database';
}
executing Memory Script

sql statement: alter database mount standby database

contents of Memory Script:
{
set newname for tempfile 1 to
"/u01/app/oracle/oradata/STBY/tempfile/temp.285.931825311";
set newname for tempfile 2 to
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/pdbseed_temp012016-12-29_12-23-03-am.dbf";
set newname for tempfile 3 to
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/tempfile/temp.295.931827153";
switch clone tempfile all;
set newname for datafile 1 to
"/u01/app/oracle/oradata/STBY/datafile/system.279.931825083";
set newname for datafile 3 to
"/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019";
set newname for datafile 4 to
"/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149";
set newname for datafile 5 to
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.287.931825323";
set newname for datafile 6 to
"/u01/app/oracle/oradata/STBY/datafile/users.280.931825149";
set newname for datafile 7 to
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.286.931825323";
set newname for datafile 8 to
"/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143";
set newname for datafile 9 to
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.293.931827089";
set newname for datafile 10 to
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.294.931827089";
set newname for datafile 11 to
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296.931827189";
backup as copy reuse
datafile 1 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/system.279.931825083" datafile
3 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019" datafile
4 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149" datafile
5 auxiliary format
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.287.931825323" datafile
6 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/users.280.931825149" datafile
7 auxiliary format
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.286.931825323" datafile
8 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143" datafile
9 auxiliary format
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.293.931827089" datafile
10 auxiliary format
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.294.931827089" datafile
11 auxiliary format
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296.931827189" ;
sql 'alter system archive log current';
}
executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

renamed tempfile 1 to /u01/app/oracle/oradata/STBY/tempfile/temp.285.931825311 in control file
renamed tempfile 2 to /u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/pdbseed_temp012016-12-29_12-23-03-am.dbf in control file
renamed tempfile 3 to /u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/tempfile/temp.295.931827153 in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting backup at 12-MAR-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=+DATA/RAC/DATAFILE/system.279.931825083
output file name=/u01/app/oracle/oradata/STBY/datafile/system.279.931825083 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=+DATA/RAC/DATAFILE/sysaux.278.931825019
output file name=/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00007 name=+DATA/RAC/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/sysaux.286.931825323
output file name=/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.286.931825323 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00010 name=+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/sysaux.294.931827089
output file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.294.931827089 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile copy
input datafile file number=00009 name=+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/system.293.931827089
output file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.293.931827089 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=+DATA/RAC/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/system.287.931825323
output file name=/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.287.931825323 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DATA/RAC/DATAFILE/undotbs1.281.931825149
output file name=/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00008 name=+DATA/RAC/DATAFILE/undotbs2.289.931826143
output file name=/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=+DATA/RAC/DATAFILE/users.280.931825149
output file name=/u01/app/oracle/oradata/STBY/datafile/users.280.931825149 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile copy
input datafile file number=00011 name=+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/users.296.931827189
output file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296.931827189 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 12-MAR-17

sql statement: alter system archive log current

contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy RECID=3 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/system.279.931825083
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149
datafile 5 switched to datafile copy
input datafile copy RECID=6 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.287.931825323
datafile 6 switched to datafile copy
input datafile copy RECID=7 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/users.280.931825149
datafile 7 switched to datafile copy
input datafile copy RECID=8 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.286.931825323
datafile 8 switched to datafile copy
input datafile copy RECID=9 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143
datafile 9 switched to datafile copy
input datafile copy RECID=10 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.293.931827089
datafile 10 switched to datafile copy
input datafile copy RECID=11 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.294.931827089
datafile 11 switched to datafile copy
input datafile copy RECID=12 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296.931827189
Finished Duplicate Db at 12-MAR-17

RMAN>

The DUPLICATE ... FOR STANDBY has completed.  Let me just run two verification checks.

On the Standby :

[oracle@oem132 ~]$ sqlplus '/ as sysdba'

SQL*Plus: Release 12.1.0.2.0 Production on Sun Mar 12 23:24:05 2017

Copyright (c) 1982, 2014, Oracle. All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> select database_role from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
MOUNTED

SQL>
SQL> select file#, name from v$datafile order by 1;

FILE#
----------
NAME
--------------------------------------------------------------------------------
1
/u01/app/oracle/oradata/STBY/datafile/system.279.931825083

3
/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019

4
/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149

5
/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.28
7.931825323

6
/u01/app/oracle/oradata/STBY/datafile/users.280.931825149

7
/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.28
6.931825323

8
/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143

9
/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.29
3.931827089

10
/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.29
4.931827089

11
/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296
.931827189


10 rows selected.

SQL>
SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
[oracle@oem132 ~]$ cd $ORACLE_HOME/dbs
[oracle@oem132 dbs]$ ls -ltr *STBY*
-rw-r--r-- 1 oracle oinstall 508 Mar 6 22:11 initSTBY.ora
-rw-r----- 1 oracle oinstall 24 Mar 12 23:07 lkSTBY
-rw-r----- 1 oracle oinstall 7680 Mar 12 23:17 orapwSTBY
-rw-rw---- 1 oracle oinstall 1544 Mar 12 23:18 hc_STBY.dat
-rw-r----- 1 oracle oinstall 17920 Mar 12 23:18 spfileSTBY.ora
[oracle@oem132 dbs]$

On the Primary :

RMAN> exit


Recovery Manager complete.
[oracle@collabn1 ~]$ sqlplus '/ as sysdba'

SQL*Plus: Release 12.1.0.2.0 Production on Sun Mar 12 23:26:17 2017

Copyright (c) 1982, 2014, Oracle. All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

SQL> select database_role from v$database;

DATABASE_ROLE
----------------
PRIMARY

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE

SQL> set pages600
SQL> select file#, name from v$datafile order by 1;

FILE#
----------
NAME
--------------------------------------------------------------------------------
1
+DATA/RAC/DATAFILE/system.279.931825083

3
+DATA/RAC/DATAFILE/sysaux.278.931825019

4
+DATA/RAC/DATAFILE/undotbs1.281.931825149

5
+DATA/RAC/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/system.287.931825323

6
+DATA/RAC/DATAFILE/users.280.931825149

7
+DATA/RAC/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/sysaux.286.931825323

8
+DATA/RAC/DATAFILE/undotbs2.289.931826143

9
+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/system.293.931827089

10
+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/sysaux.294.931827089

11
+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/users.296.931827189


10 rows selected.

SQL>

All datafiles (CDB, SEED and 1 PDB) are replicated.  Note how the folder names for the SEED and PDB are in lower-case on the Standby.  Since the source database is RAC, it has two Undo Tablespaces.  (This is 12.1 so I do not have the 12.2 feature of Local Undo in PDBs)

The next few posts will be on the DataGuard Broker and Redo Shipping and Applly.
(Should I also do a SWITCHOVER ?)
.
.
.


Categories: DBA Blogs

login issue using net service

Tom Kyte - Sun, 2017-03-12 10:26
when I used to login my account using net service name then ora-12514 error occurs and when i try to without net service name then i login successfully so what's a problem? c:\>sqlplus sys@mycon as sysdba SQL*Plus: Release 11.2.0.1.0 Production...
Categories: DBA Blogs

Production sanity check trigger on BEFORE SHUTDOWN - you'd think this would be an obvious need but...

Tom Kyte - Sun, 2017-03-12 10:26
A small, innocent mistake this week led to an unscheduled production outage. I had SSH sessions going for both my dev and my prod instances. I wanted to bounce my dev and entered SHUTDOWN IMMEDIATE. A few minutes later the customer called.... Yes, I ...
Categories: DBA Blogs

2 database with same data but hardware diff, some query are very fast on new db, some query in new db are slower than old one

Tom Kyte - Sun, 2017-03-12 10:26
Dear Tom, thanks for everything that i learned from you. i have a new power full server with oracle 11gr2 (and just for test , nobody connect to it) and another is older (Hardware are older) with oracle 10g and around 400 user on time when my que...
Categories: DBA Blogs

Improved Display for Empty Field Values in ADF Form

Andrejus Baranovski - Sun, 2017-03-12 04:39
I had a task in the project, to improve display for empty field in ADF form. By default, if there is no row data in the result - all input text entries in ADF form will be hidden, user will see only labels. This is not ideal, most of time users would prefer to see disabled input text boxes instead.

In this example below, on purpose I search for non existing value and this causing form below to become empty. First Name field shows example with disabled text box, the way we want it to be displayed. All other fields display only label - default way:


Let's see how First Name field is changed to be rendered as disabled, when there is no data. I have changed EL for value property. Instead of pointing directly to the binding inputValue (when expression points to standard inputValue and when there is no data - field is rendered as read-only), I point to proxy method in my custom bean. Method is generic and it accepts field name as variable:


Disabled property is changed to return true, when primary key value is empty - this would happen when there are no rows in the result:


No need to change any other properties.

Proxy method is implemented in the bean. This implementation allows to pass parameter to the getter. Parameter - attribute name. Using parameter we are reading value from the bindings. If value is empty - NULL is returned, this makes field empty, but not read-only. When user is changing value - we need to update binding - this is done in put method. Here we get two values from EL - attribute name and actual new value. Think about it as about HashMap element:


With this generic method, there is no need to define separate getters/setters for each UI field. You only need to provide attribute name in EL expression:


Now form is displayed with empty disabled boxes, when there is no result:


When results are available - from displays and allows to edit data:


Download sample application - ADFDataEntryUIApp.zip.

TFA-00103 – TFA is not yet secured to run all commands

Online Apps DBA - Sun, 2017-03-12 03:56

For versions of TFA greater than 12.1.2.4.1 the way TFA secures it’s communication among nodes has changed. This new TFA communication change has to be completed across ALL nodes of the TFA configuration in order to avoid communication problems. TFA will be upgraded on each node locally as part of the application of the PSU. […]

The post TFA-00103 – TFA is not yet secured to run all commands appeared first on Oracle Trainings for Apps & Fusion DBA.

Categories: APPS Blogs

Change UUIDs in VirtualBox

Amis Blog - Sun, 2017-03-12 00:31

If you are anything like me you will have multiple virtualboxes running on your system. Sometimes you might want to run a copy of a virtualbox for different purposes. Like running an Oracle 11 Devdays instance as test environment but also running the same vbox for customer testing. If you copy the vbox and try to run it in the manager you’ll be presented with an error that a harddisk with the same UUID already exists. Here’s how I solved it.

First of all you make a backup-copy of the Virtualbox you want to change. While this is running you can download the portable apps UUID-GUID generator or if you are not running windows a similar program. You can also use an online GUID generator.

After the backup has completed you can start changing the UUIDs for the VirtualBox. Open the <virtualboxname>.vbox file in a text editor. There are a couple of UUIDs that need to be changed:

First look for the <Machine> tag (2nd tag in the xml file). One of the attributes is uuid={some_uuid}. You can change this to your new uuid. This is where the generator comes in, just generate a new uuid and paste that here.

Next you need to change the uuids for the harddisks. This is a little more tricky. Find the tag <Harddisk> and look for the uuid attribute. This uuid is used multiple times in the xml file. Also in the StorageControllers section. The easiest way to keep these in sync is to do a search-and-replace over the entire file. Search for the current uuid, replace with a freshly generated uuid. Before you change the next one. you also need to change the uuid in the harddisk file. You do this running a command line utility VBoxManage.
The command is like this:
<path_to_virtualbox>VBoxManage internalcommands sethduuid <filepath> <uuid>

Repeat this process for all the harddisks that are defined. This way you can have multiple instances of the same VirtualBox in your VirtualBox Manager.

You may want to change other settings like MAC Addresses for your network cards, but you can do this using the VBox interface.

The post Change UUIDs in VirtualBox appeared first on AMIS Oracle and Java Blog.

Change UUIDs in VirtualBox

Bar Solutions - Sun, 2017-03-12 00:29

If you are anything like me you will have multiple virtualboxes running on your system. Sometimes you might want to run a copy of a virtualbox for different purposes. Like running an Oracle 11 Devdays instance as test environment but also running the same vbox for customer testing. If you copy the vbox and try to run it in the manager you’ll be presented with an error that a harddisk with the same UUID already exists. Here’s how I solved it.

First of all you make a backup-copy of the Virtualbox you want to change. While this is running you can download the portable apps UUID-GUID generator or if you are not running windows a similar program. You can also use an online GUID generator.

After the backup has completed you can start changing the UUIDs for the VirtualBox. Open the <virtualboxname>.vbox file in a text editor. There are a couple of UUIDs that need to be changed:

First look for the <Machine> tag (2nd tag in the xml file). One of the attributes is uuid={some_uuid}. You can change this to your new uuid. This is where the generator comes in, just generate a new uuid and paste that here.

Next you need to change the uuids for the harddisks. This is a little more tricky. Find the tag <Harddisk> and look for the uuid attribute. This uuid is used multiple times in the xml file. Also in the StorageControllers section. The easiest way to keep these in sync is to do a search-and-replace over the entire file. Search for the current uuid, replace with a freshly generated uuid. Before you change the next one. you also need to change the uuid in the harddisk file. You do this running a command line utility VBoxManage.
The command is like this:
<path_to_virtualbox>VBoxManage internalcommands sethduuid <filepath> <uuid>

Repeat this process for all the harddisks that are defined. This way you can have multiple instances of the same VirtualBox in your VirtualBox Manager.

You may want to change other settings like MAC Addresses for your network cards, but you can do this using the VBox interface.

Effect of a Backup Retention Policy on Backup Recovery AREA to destination

Tom Kyte - Sat, 2017-03-11 15:06
Hi, What's the effect of a backup retention policy on BACKUP RECOVERY AREA rman command ? I have all backups in the FRA, and I would like to make BACKUP RECOVERY AREA to DESTINATION (disk) to have an "alternative" backup, but I am not sure of th...
Categories: DBA Blogs

Is changing passwords via alter <username> identified by values '<hash>'; a security risk?

Tom Kyte - Sat, 2017-03-11 15:06
<code>create user testuser1 identified by "DummyPass1"; create user testuser2 identified by "DummyPass1"; select name, spare4 from sys.user$ where name in ('TESTUSER1','TESTUSER2'); </code> For the above test case, the password hashes are dif...
Categories: DBA Blogs

Is it the right time to move to MariaDB now?

Yann Neuhaus - Sat, 2017-03-11 03:06

Do you think about adding MariaDB to your database landscape or do you even think about replacing other database systems with MariaDB? Then you should register here. We will be doing a webinar with MariaDB on Thursday, the 23rd of March. The title is: “Why it is a good time to move to MariaDB now” and after a short introduction of dbi services and what we do in the open source area Bruno Šimić (Sales Engineer, MariaDB Corporation) will highlight why the time to do so is now.

mariadb_webinar

Hope to see you registered.

 

Cet article Is it the right time to move to MariaDB now? est apparu en premier sur Blog dbi services.

how to preserver double quotes in the data using sqlloader data load.

Tom Kyte - Fri, 2017-03-10 20:46
hey I have data like below and need to preserve double quotes in data. Please let me know how to load data preserving double quotes using sql loader. Here record Filed 2 last line is in multiple lines marked in bold data "Filed 1","Field 2",...
Categories: DBA Blogs

Optimize insert or update million records in a table

Tom Kyte - Fri, 2017-03-10 20:46
Hi Tom, i need your help in optimizing a procedure in less time which is originally taking 40 mins to insert/update 14+million records into a table. We have a query with a table (20+ million records) which inserts/update(14 million records) in...
Categories: DBA Blogs

Pages

Subscribe to Oracle FAQ aggregator