diff --git a/packages/mindplot/src/components/export/FreemindExporter.ts b/packages/mindplot/src/components/export/FreemindExporter.ts index 4c410306..3c7e6ba0 100644 --- a/packages/mindplot/src/components/export/FreemindExporter.ts +++ b/packages/mindplot/src/components/export/FreemindExporter.ts @@ -55,12 +55,15 @@ class FreemindExporter extends Exporter { const parser = new DOMParser(); const xmlDoc = parser.parseFromString(xmlStr, mimeType); + // FIXME: Fix error "unclosed tag: p" when exporting bug2 and enc // Is there any parsing error ?. + /* if (xmlDoc.getElementsByTagName('parsererror').length > 0) { const xmmStr = new XMLSerializer().serializeToString(xmlDoc); console.log(xmmStr); throw new Error(`Unexpected error parsing: ${xmlStr}. Error: ${xmmStr}`); } + */ return xmlDoc; } @@ -181,7 +184,7 @@ class FreemindExporter extends Exporter { const textSplit = text.split('\n'); - let html = ''; + let html = ''; textSplit.forEach((line: string) => { html += `

${line.trim()}

`; @@ -273,7 +276,7 @@ class FreemindExporter extends Exporter { } if (fontNodeNeeded) { - if (font.getSize()) { + if (!font.getSize()) { font.setSize(FreemindExporter.wisweToFreeFontSize.get(8).toString()); } freemindNode.setArrowlinkOrCloudOrEdge(font); diff --git a/packages/mindplot/test/unit/export/expected/bug3.mm b/packages/mindplot/test/unit/export/expected/bug3.mm index 8676b6f0..ebbb2f0b 100644 --- a/packages/mindplot/test/unit/export/expected/bug3.mm +++ b/packages/mindplot/test/unit/export/expected/bug3.mm @@ -2,7 +2,6 @@ - @@ -11,11 +10,12 @@ - + + - +

Number of different innovations policy instruments existing in the region as a share of a total number representing a full typology of instruments

@@ -24,42 +24,42 @@
- + - - +

Understanding how to design the details of a particular measure and how to implement them.

- - + + + - +

Firm's turnover from (new to firm)

product innovation (as a pecentage of total turnover)

- +
- +

Increase in the probability to innovate linked to ICT use

(in product innovation, process innovation, organisational innovaton, marketing innovation)

@@ -70,99 +70,99 @@ - +

Scientific articles by type of collaboration (per capita)

(international co-authoriship, domestic co-authoriship, single author)

- +
- +

Increase in a share of expenditures on technological

-

innovations in the total amount of regional firms’ expenditures, %

+

innovations in the total amount of regional firms’ expenditures, %

- +
- + - + - +

Increase in th number of firms with

international/national collaboration on innovation

- +
- +

Highly cited scientific articles (as a percentage of

highly cited scientific article in the whole Federation)

- +
- +

Patents filed by public research organisations

(as a percentafe of patent application filed under PCT)

- +
- + - + - + - +
- - +

Understanding the level of effort the region needs to take to compete on innovation and where to put this effort

- + + - +

This is what policy makers care about in the end

@@ -174,24 +174,24 @@
- + - + - + - + @@ -201,20 +201,20 @@ - +

WB

- +
- +

GCR

@@ -225,35 +225,35 @@ - +

GCR

- +
- - +

per 100 population aged 25-64

+
- + - +

Amount of university and colleague

students per 10 thousands population

@@ -264,7 +264,7 @@ - +

Share of employees with higher education in

the total amount of population at the working age

@@ -273,18 +273,18 @@
- + - + - +

GCR

@@ -292,7 +292,7 @@
- + @@ -309,7 +309,7 @@ - + @@ -321,7 +321,7 @@ - +

GCR

@@ -332,6 +332,7 @@ + @@ -341,7 +342,7 @@ - +

: the percentage of the workforce employed by foreign companies [%].

@@ -354,39 +355,39 @@
- - +

: exports as a share of total output in manufacturing and services [%].

+
- +

Share of high-technology export in the total volume

of production of goods, works and services

- +
- +

Share of innovation production/serivces that goes for export,

by zones (EU, US, CIS, other countries

- +
@@ -395,7 +396,7 @@ - +

GEM

@@ -405,7 +406,7 @@ - +

GEM

@@ -415,7 +416,7 @@ - +

GEM

@@ -428,7 +429,7 @@ - +

UNESCO

@@ -438,7 +439,7 @@ - +

CIS

@@ -448,7 +449,7 @@ - +

Share of Innovative companies collaborating

with research institutions on innovation

@@ -459,7 +460,7 @@ - +

Number of joint projects conducted by the local comapnies

and local consulting/intermediary agencies

@@ -473,7 +474,7 @@ - +

GCR

@@ -483,7 +484,7 @@ - +

Share of expenditures on technological innovations

in the amount of sales

@@ -492,12 +493,12 @@
- + - +

Investments in ICT by asset (IT equipment,

communication equipment, software)

@@ -510,17 +511,17 @@ - +

Level of energy efficiency of the regional economy

(can be measured by sectors and for the whole region)

- +
- +
@@ -529,7 +530,7 @@ - +

CIS, BEEPS

@@ -542,11 +543,11 @@ - + - + @@ -554,7 +555,7 @@ - +

Number of new organizations per thousand working age population (WBI)

@@ -564,7 +565,7 @@ - +

(as a percentage of all registered corporations)

@@ -578,7 +579,7 @@ - +

Amount of domestically protected intellectual

property per 1 mln. population

@@ -591,14 +592,14 @@ - +

Number of intellectual property exploited by regional

enterprises per 1 mln. population

- +
@@ -611,7 +612,7 @@ - +

Number of advanced ICT introduced in the budgetary organizations

(regional power, municipal bodies, social and educational organizations)

@@ -623,7 +624,7 @@ - +

Number of management innovations introduced in the budgetary organizations

(regional power, municipal bodies, social and educational organizations)

@@ -639,14 +640,14 @@ - +

Number of interactions between universities

and large companies by university size

- +
@@ -661,7 +662,7 @@ - +

Publications: Academic articles in international peer-reviewed

journals per 1,000 researchers [articles/1,000 researchers].

@@ -676,7 +677,7 @@ - +

Number of measures offered by the unversity within a preset range (NCET2 survey)

@@ -689,7 +690,7 @@ - +

Academic licenses: Number of licenses

per 1,000 researchers.[licenses/researcher]

@@ -701,13 +702,7 @@ - - - -

Number of spin-offs with external private financing

-

as a share of the institution's R&D budget

- - + 1:146: unclosed tag: p
@@ -716,7 +711,7 @@ - +

Foreign contracts: Number of contracts with foreign industria

l companies at scientific and educational organizations

@@ -728,13 +723,7 @@ - - - -

Revenue raised from industry R&D as a fraction

-

of total institutional budget (up to a cap)

- - + 1:142: unclosed tag: p
@@ -745,7 +734,7 @@ - +

(design firms, IP consultants, etc.)

@@ -755,7 +744,7 @@ - +

(e.g. accelerators, incubators)

@@ -774,29 +763,28 @@ -
- - +

Understanding which measures should be strengthened, dropped or improved, and how.

- + + - +

WIPO SURVEY OF INTELLECTUAL PROPERTY SERVICES OF

EUROPEAN TECHNOLOGY INCUBATORS

@@ -808,7 +796,7 @@ - +

Gazelle tenant: Share of tenants with

annual revenue growth of more than 20%

@@ -820,7 +808,7 @@ - +

Globalization of tenants: Median share of tenant

revenues obtained from exports [%]

@@ -840,7 +828,7 @@ - +

Perception (opinion poll) of business managers

regarding public support programmes

@@ -853,27 +841,27 @@ - +

Perception of business managers in terms

of level of transparency of support measures in the region

- +
- +

Description by regional business managers of the way the

select and apply for regional and federal support schemes

- +
@@ -883,11 +871,11 @@ - + - +

JL: not sure how this would be measured

@@ -896,12 +884,12 @@
- + - + @@ -914,7 +902,7 @@ - + @@ -922,10 +910,10 @@ - + - + @@ -934,62 +922,53 @@ - +

Average leverage of 1rub (there would be

several programs with different leverage)

- +
- +

Volume of attracted money per one ruble

of regional budget expenditures on innovation projects

- +
-
- - - - - - - - - + - - +

Understanding what investments should be made in innovative projects.

- + + - + - +

Growth of the volume of production in the cluster companies

to the volume of state support for the cluster

@@ -1024,7 +1003,7 @@ - +

FASIE projects: Number of projects supported

by the FASIE per 1,000 workers [awards/worker]

@@ -1035,9 +1014,17 @@
- + + + + + + + + + \ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/complex.mm b/packages/mindplot/test/unit/export/expected/complex.mm index 4ff9f17b..952ac68b 100644 --- a/packages/mindplot/test/unit/export/expected/complex.mm +++ b/packages/mindplot/test/unit/export/expected/complex.mm @@ -1,50 +1,51 @@ - - + + - - - - - - - - - - - - - - + + - + - - + + + + + + + + + + + - -

+

HR Vision: Freeform Solutions is successful at its mission, sustainable as an organization AND is a great place to work.

+

HR Mission: To provide a positive HR service experience for applicants and employees, and collaborate with departments to recruit, develop, support, and retain diverse and talented employees who are the key to Freeform’s reputation and success.

+
- + - - + + - + + + +
\ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/emptyNodes.mm b/packages/mindplot/test/unit/export/expected/emptyNodes.mm index cef10f90..0a685dc2 100644 --- a/packages/mindplot/test/unit/export/expected/emptyNodes.mm +++ b/packages/mindplot/test/unit/export/expected/emptyNodes.mm @@ -1,116 +1,115 @@ - - - + - - + + -

-

+

- - + + + + - - + + - - + + - - + + - - + + - - + + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - + + - + - + - + - - + + - - - + + + - + - + - + - - + + - + - + - - - + + + - - - + + + diff --git a/packages/mindplot/test/unit/export/expected/enc.mm b/packages/mindplot/test/unit/export/expected/enc.mm index 50943094..48f63d6a 100644 --- a/packages/mindplot/test/unit/export/expected/enc.mm +++ b/packages/mindplot/test/unit/export/expected/enc.mm @@ -1,209 +1,16 @@ - - - - - - - - - - - - - - - -

Here, we develop a new approach that links functional attributes

-

of tree species with studies of forest recovery and regional

-

land-use transitions (Chazdon et al. 2007). Grouping species according

-

to their functional attributes or demographic rates provides

-

insight into both applied and theoretical questions, such as selecting

-

species for reforestation programs, assessing ecosystem services, and

-

understanding community assembly processes in tropical forests

-

(Diaz et al. 2007, Kraft et al. 2008).

- - -
-
- - - - - -

Since we have data on leaf

-

and wood functional traits for only a subset of the species in our

-

study sites, we based our functional type classification on information

-

for a large number of tree species obtained through vegetation

-

monitoring studies.

- - -
-
- - - - - -

Our approach avoided preconceived notions of successional

-

behavior or shade tolerance of tree species by developing an objective

-

and independent classification of functional types based on vegetation

-

monitoring data from permanent sample plots in mature and

-

secondary forests of northeastern Costa Rica (Finegan et al. 1999,

-

Chazdon et al. 2007).We apply an independent, prior classification

-

of 293 tree species from our study region into five functional types, based on two species attributes: canopy strata and diameter growth

-

rates for individuals Z10 cm dbh (Finegan et al. 1999, Salgado-

-

Negret 2007).

- - -
-
- - - - - -

Our results demonstrate strong linkages between functional

-

types defined by adult height and growth rates of large trees and

-

colonization groups based on the timing of seedling, sapling, and

-

tree recruitment in secondary forests.

- - -
-
- - - - - -

These results allow us to move beyond earlier conceptual

-

frameworks of tropical forest secondary succession developed

-

by Finegan (1996) and Chazdon (2008) based on subjective groupings,

-

such as pioneers and shade-tolerant species (Swaine &

-

Whitmore 1988).

- - -
-
- - - - - -

Reproductive traits, such as dispersal mode, pollination mode,

-

and sexual system, were ultimately not useful in delimiting tree

-

functional types for the tree species examined here (Salgado-Negret

-

2007). Thus, although reproductive traits do vary quantitatively in

-

abundance between secondary and mature forests in our landscape

-

(Chazdon et al. 2003), they do not seem to be important drivers of

-

successional dynamics of trees Z10 cm dbh. For seedlings, however,

-

dispersal mode and seed size are likely to play an important

-

role in community dynamics during succession (Dalling&Hubbell

-

2002).

- - -
-
- - - - - -

Our classification of colonization groups defies the traditional

-

dichotomy between ‘late successional’ shade-tolerant and ‘early successional’

-

pioneer species. Many tree species, classified here as

-

regenerating pioneers on the basis of their population structure in

-

secondary forests, are common in both young secondary forest and

-

mature forests in this region (Guariguata et al. 1997), and many are

-

important timber species (Vilchez et al. 2008). These generalists are

-

by far the most abundant species of seedlings and saplings, conferring

-

a high degree of resilience in the wet tropical forests of NE

-

Costa Rica (Norden et al. 2009, Letcher & Chazdon 2009). The

-

high abundance of regenerating pioneers in seedling and sapling

-

size classes clearly shows that species with shade-tolerant seedlings

-

can also recruit as trees early in succession. For these species, early

-

tree colonization enhances seedling and sapling recruitment during

-

the first 20–30 yr of succession, due to local seed rain. Species

-

abundance and size distribution depend strongly on chance colonization

-

events early in succession (Chazdon 2008). Other studies

-

have shown that mature forest species are able to colonize early in

-

succession (Finegan 1996, van Breugel et al. 2007, Franklin & Rey

-

2007, Ochoa-Gaona et al. 2007), emphasizing the importance of

-

initial floristic composition in the determination of successional

-

pathways and rates of forest regrowth. On the other hand, significant

-

numbers of species in our sites (40% overall and the majority

-

of rare species) colonized only after canopy closure, and these species

-

may not occur as mature individuals until decades after agricultural

-

abandonment.

- - -
-
- - - - - -

Classifying functional types

-

based on functional traits with low plasticity, such as wood density

-

and seed size, could potentially serve as robust proxies for demographic

-

variables (Poorter et al. 2008, Zhang et al. 2008).

- - -
-
- - - - - -

CONDIT, R., S. P. HUBBELL, AND R. B. FOSTER. 1996. Assessing the response of

-

plant functional types in tropical forests to climatic change. J. Veg. Sci.

-

7: 405–416.

-

DALLING, J. S., AND S. P. HUBBELL. 2002. Seed size, growth rate and gap microsite

-

conditions as determinants of recruitment success for pioneer species.

-

J. Ecol. 90: 557–568.

-

FINEGAN, B. 1996. Pattern and process in neotropical secondary forests: The first

-

100 years of succession. Trends Ecol. Evol. 11: 119–124.

-

POORTER, L., S. J. WRIGHT, H. PAZ, D. D. ACKERLY, R. CONDIT, G.

-

IBARRA-MANRI´QUEZ, K. E. HARMS, J. C. LICONA, M.MARTI´NEZ-RAMOS,

-

S. J. MAZER, H. C. MULLER-LANDAU, M. PEN˜ A-CLAROS, C. O. WEBB,

-

AND I. J. WRIGHT. 2008. Are functional traits good predictors of demographic

-

rates? Evidence from five Neotropical forests. Ecology 89:

-

1908–1920.

-

ZHANG, Z. D., R. G. ZANG, AND Y. D. QI. 2008. Spatiotemporal patterns and

-

dynamics of species richness and abundance of woody plant functional

-

groups in a tropical forest landscape of Hainan Island, South China.

-

J. Integr. Plant Biol. 50: 547–558.

- - -
-
-
- + + - - - -

Therecent growth of large functional trait data

-

bases has been fuelled by standardized protocols forthe

-

measurement of individual functional traits and intensive

-

efforts to compile trait data(Cornelissen etal. 2003; Chave etal. 2009). Nonetheless, there remains no consensusfor

-

the most appropriate sampling design so that traits can be

-

scaled from the individuals on whom measurements are

-

made to the community or ecosystem levels at which infer-

-

ences are drawn (Swenson etal. 2006,2007,Reich,Wright

-

& Lusk 2007;Kraft,Valencia & Ackerly 2008).

- - + 1:590: disallowed character in entity name.
- +

However, the fast pace of

development of plant trait meta-analyses also suggests that

@@ -216,7 +23,7 @@ - +

We measured

traits for every individual tree in nine 1-ha plots in tropical

@@ -235,13 +42,13 @@
- - - + + + - +

With regard to estimating mean trait values, strategies

alternative to BRIDGE were consistently cost-effective. On

@@ -253,19 +60,13 @@
- - - -

-

Isso significa que estudos de característica de história de vida compensam? Ver nos m&m.

- - + 1:134: unclosed tag: p
- +

We suggest that, in these studies,

the investment in complete sampling may be worthwhile

@@ -275,14 +76,141 @@
- + -

-

Falar que isso corrobora nossa sugestão de utilizar poucas medidas, mas que elas sejam confiáveis.

+

Falar que isso corrobora nossa sugestão de utilizar poucas medidas, mas que elas sejam confiáveis.

+ + + + + + + +

Here, we develop a new approach that links functional attributes

+

of tree species with studies of forest recovery and regional

+

land-use transitions (Chazdon et al. 2007). Grouping species according

+

to their functional attributes or demographic rates provides

+

insight into both applied and theoretical questions, such as selecting

+

species for reforestation programs, assessing ecosystem services, and

+

understanding community assembly processes in tropical forests

+

(Diaz et al. 2007, Kraft et al. 2008).

+ + +
+
+ + + + + +

Since we have data on leaf

+

and wood functional traits for only a subset of the species in our

+

study sites, we based our functional type classification on information

+

for a large number of tree species obtained through vegetation

+

monitoring studies.

+ + +
+
+ + + + + + +

Our approach avoided preconceived notions of successional

+

behavior or shade tolerance of tree species by developing an objective

+

and independent classification of functional types based on vegetation

+

monitoring data from permanent sample plots in mature and

+

secondary forests of northeastern Costa Rica (Finegan et al. 1999,

+

Chazdon et al. 2007).We apply an independent, prior classification

+

of 293 tree species from our study region into five functional types, based on two species attributes: canopy strata and diameter growth

+

rates for individuals Z10 cm dbh (Finegan et al. 1999, Salgado-

+

Negret 2007).

+ + +
+
+ + + + + +

Our results demonstrate strong linkages between functional

+

types defined by adult height and growth rates of large trees and

+

colonization groups based on the timing of seedling, sapling, and

+

tree recruitment in secondary forests.

+ + +
+
+ + + 1:325: unclosed tag: p + + + + + 1:691: unclosed tag: p + + + + + 1:1875: unclosed tag: p + + + + + + + +

Classifying functional types

+

based on functional traits with low plasticity, such as wood density

+

and seed size, could potentially serve as robust proxies for demographic

+

variables (Poorter et al. 2008, Zhang et al. 2008).

+ + +
+
+ + + + + +

CONDIT, R., S. P. HUBBELL, AND R. B. FOSTER. 1996. Assessing the response of

+

plant functional types in tropical forests to climatic change. J. Veg. Sci.

+

7: 405–416.

+

DALLING, J. S., AND S. P. HUBBELL. 2002. Seed size, growth rate and gap microsite

+

conditions as determinants of recruitment success for pioneer species.

+

J. Ecol. 90: 557–568.

+

FINEGAN, B. 1996. Pattern and process in neotropical secondary forests: The first

+

100 years of succession. Trends Ecol. Evol. 11: 119–124.

+

POORTER, L., S. J. WRIGHT, H. PAZ, D. D. ACKERLY, R. CONDIT, G.

+

IBARRA-MANRI´QUEZ, K. E. HARMS, J. C. LICONA, M.MARTI´NEZ-RAMOS,

+

S. J. MAZER, H. C. MULLER-LANDAU, M. PEN˜ A-CLAROS, C. O. WEBB,

+

AND I. J. WRIGHT. 2008. Are functional traits good predictors of demographic

+

rates? Evidence from five Neotropical forests. Ecology 89:

+

1908–1920.

+

ZHANG, Z. D., R. G. ZANG, AND Y. D. QI. 2008. Spatiotemporal patterns and

+

dynamics of species richness and abundance of woody plant functional

+

groups in a tropical forest landscape of Hainan Island, South China.

+

J. Integr. Plant Biol. 50: 547–558.

+

+ + +
+
+
+ + + + + +
\ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/i18n2.mm b/packages/mindplot/test/unit/export/expected/i18n2.mm index 3dc6d41a..40e022e5 100644 --- a/packages/mindplot/test/unit/export/expected/i18n2.mm +++ b/packages/mindplot/test/unit/export/expected/i18n2.mm @@ -1,11 +1,11 @@ - - + + - + -

This is a not in languange أَبْجَدِيَّة عَرَبِ

+

This is a not in languange أَبْجَدِيَّة عَرَبِ

@@ -13,10 +13,10 @@ - +

Long text node:

-

أَبْجَدِيَّة عَرَب

+

أَبْجَدِيَّة عَرَب

diff --git a/packages/mindplot/test/unit/export/expected/issue.mm b/packages/mindplot/test/unit/export/expected/issue.mm index 1d04ca6f..1586b623 100644 --- a/packages/mindplot/test/unit/export/expected/issue.mm +++ b/packages/mindplot/test/unit/export/expected/issue.mm @@ -1,116 +1,38 @@ - - + + - + - - -

Software

-

(Programas y datos con los que funciona la computadora)

- - -
- - - - - - - -

Software de Sistema:Permite el entendimiento

-

entre el usuario y la maquina.

- - -
- - - - - - - - - - - - - - -
- - - - - -

Software de Aplicación: Permite hacer hojas de

-

calculo navegar en internet, base de datos, etc.

- - -
- - - - - - - - - - - - - - - - - - -
- - - - - -

Software de Desarrollo

- - -
- - -
-
- - - - +

Hardware

-

(componentes físicos)

+

(componentes físicos)

- + - + - +

Entrada de datos

+

- + - + -

Ratón, Teclado, Joystick,

-

Cámara digital, Micrófono, Escáner.

+

Ratón, Teclado, Joystick,

+

Cámara digital, Micrófono, Escáner.

@@ -118,15 +40,16 @@
- + - + - + -

Monitor, Impresora, Bocinas, Plóter.

+

Monitor, Impresora, Bocinas, Plóter.

+

@@ -134,13 +57,13 @@
- + - + - +

Disquete, Disco compacto, DVD,

BD, Disco duro, Memoria flash.

@@ -152,30 +75,112 @@
+ + + + + +

Software

+

(Programas y datos con los que funciona la computadora)

+

+ + +
+ + + + + + + +

Software de Sistema:Permite el entendimiento

+

entre el usuario y la maquina.

+ + +
+ + + + + + + + + + + + + + +
+ + + + + +

Software de Aplicación: Permite hacer hojas de

+

calculo navegar en internet, base de datos, etc.

+ + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + +

Software de Desarrollo

+

+ + +
+ + +
+
- + - + - +

PDA

+

- +
- + - + - +
diff --git a/packages/mindplot/test/unit/export/expected/npe.mm b/packages/mindplot/test/unit/export/expected/npe.mm index a353dabb..1bc47622 100644 --- a/packages/mindplot/test/unit/export/expected/npe.mm +++ b/packages/mindplot/test/unit/export/expected/npe.mm @@ -1,3 +1,7 @@ - + + + + + \ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/process.mm b/packages/mindplot/test/unit/export/expected/process.mm index ceeb9cea..376f942a 100644 --- a/packages/mindplot/test/unit/export/expected/process.mm +++ b/packages/mindplot/test/unit/export/expected/process.mm @@ -9,42 +9,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -60,11 +30,40 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/mindplot/test/unit/export/expected/welcome.mm b/packages/mindplot/test/unit/export/expected/welcome.mm new file mode 100644 index 00000000..d4497d04 --- /dev/null +++ b/packages/mindplot/test/unit/export/expected/welcome.mm @@ -0,0 +1,81 @@ + + + + + + + + +

5 min tutorial video ?

+

Follow the link !

+ + +
+ + +
+ + + + + + + + + +

Press "enter" to add a

+

Sibling

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file