Jump to content

Channel number assignment with LCN


AndreaB

Recommended Posts

Hi.

 

I searched for LCN in the forum and could not find any messages.

All Italian televisions associate the channel number to a specific channel on an LCN table.

The latest version can be found here: https://www.litaliaindigitale.it/sites.google.com/site/litaliaindigitale/muxnazionali/listalcnnazionale.html

Televisions associate the LCN channel with the "Service ID" of the relevant TV channel.

I haven't been able to find a unique "LCN-SID" table yet but I can easily extract it from pages like these: https://www.litaliaindigitale.it/sites.google.com/site/litaliaindigitale/muxnazionali/raimux1lombardia.html

I think it is an important function to implement: it would make it easier to use DVBView as it would use the same channel numbering present on all TVs.

If you plan to implement this function, I can quickly create an "LCN-SID" table for Italy.

 

Andrea

Link to comment
11 hours ago, Griga said:

Search with Google for site:DVBViewer.tv lcn.

First I searched for "Italian" and found various messages, then I searched for "LCN" and I didn't find any messages (and it seemed strange to me).

Invision search doesn't work very well.

Ok, i reply from one of the other messages.

Ciao,

 

Andrea

Link to comment
vor 8 Minuten schrieb AndreaB:

Invision search doesn't work very well.

 

The forum doesn't allow search items with less than 4 letters/digits, because it would inflate the index considerably. Google can cope with it, but not a single (small) server. That's why the Google site search and other search engines are additionally offered at the top of the forum.

 

Link to comment
  • 2 weeks later...

Hi.
I have carefully read the various thread, installed TranEdit and analyzed the video streams (as far as I understand) and found some shortcomings in this program.

Can I continue the discussion here, since the others are all a bit old topics?

Ciao,

 

Andrea

Link to comment

Hi.

Let's start with a premise: in Italy the LCN is mandatory for all TV stations and the list, for national broadcasters, is provided by a government ministry.
Here is the latest version:
https://www.mise.gov.it/images/stories/documenti/LCN_nazionali_pubblicazione_12.11.2021.pdf

 

From what I understand also in other countries, and not only in Europe, there is an official list of LCNs.
So I think implementing LCN in DVBViewer should have a higher priority than now, also because TransEdit is on the right way.
I don't feel like recommending DVBViewer to anyone who wants to view TV on their PC in Italy because it would be unnecessarily complex, despite being in my opinion the best program of its kind.

 

I installed and learned (a little bit) how to use TransEdit and the results, enabling the options as indicated here:
https://www.DVBViewer.tv/forum/topic/62465-lcn-in-channel-list/

they are very encouraging, with some minor errors.

 

For example "LA 7": in the NIT the information of the LCN is there:

image.png.132699c1c6da113468d2ebf7e5623514.png


Also for the channel "RAI 1" there are:
image.png.35f5f6c0f27b3ecd876b7d57b7f7b17f.png[IMG] 

 

However, TransEdit. at the end of the scan, shows me a "strange" choice to make:
image.png.96c8df0cb87e1705aa7f5de238986590.png[IMG] 
that I do not understand.
If I choose "Rai" I have LCN for all the "Rai" channels but not those of "CAIRO DUE", including "LA 7", if I choose "CAIRO DUE"... vice versa, but for me there is no real conflict.

 

Obviously the scan times, as you mentioned in another message, are longer:
* "Scan All" whitout NIT: 5' 23"
* "Scan All" with NIT: 6' 22"
but 1 minute more, out of 5, I think is acceptable, since it makes it easier for me to use the program.

 

For the channels indicated as "Local" there may be "duplicates", especially for those who live on the border between one province and another (not my case).
TransEdit could handle these conflicts by asking me which channel to associate with a contested LCN.
 

If you just want to correct TransEdit I can perform a complete comparison between the detected LCNs and the ministerial table and local channels.
Ciao,

 

Andrea

DVB-T Europe_Channels.ini

Link to comment
Am 10.12.2021 um 21:32 schrieb AndreaB:

If I choose "Rai" I have LCN for all the "Rai" channels but not those of "CAIRO DUE", including "LA 7", if I choose "CAIRO DUE"... vice versa, but for me there is no real conflict.

 

The channels / frequencies are belonging to different DVB networks, because they have different network IDs. LCN information with different IDs may provide contradicting or ambiguous channel numbering, e.g. different numbers for the same channel or the same number for different channels. Let's have a look at the satellite position Astra 19° East with 98 active frequencies, that provide channels for various countries, particularly Germany, Austria, France and Spain:

  • Scan All without NIT/BAT: 03:21 minutes
  • Scan All with NIT/BAT: 18:48 minutes

That's quite a difference, isn't it? The result looks like this:

 

grafik.png

 

French broadcasters are providing different numberings for France and Switzerland here that can't be combined, because the same French channels get different numbers in France and Switzerland. So it is not possible to apply both numberings. It is inevitable to select one of them.

 

Your case is different. There are two sets of numbering information that must be combined to make it complete. But how can TransEdit know? How can this be solved? Maybe by allowing multi-selection, demanding from the user that he/she knows what must be done.

 

Of course this is no problem for DVB-T receivers that are localised for the Italian market. The only have to deal with one reception type, and the LCN handling is kind of hardcoded.

 

However, this is not possible in DVBViewer. DVBViewer is not fixed to a certain reception type. It allows to receive DVB-S/T/C and IPTV simultaneously. The LCN implementation must cover all possible cases. We don't have the resources to provide localised versions for each country and reception type.

 

Imagine an Italian DVBViewer user with a terrestrial and a satellite tuner. His channel list will contain DVB-T and DVB-S channels. If the LCNs are consistent for both reception types, there will be a lot of channel pairs with the same number, e.g. RAI 1 Terrestrial and RAI 1 Satellite. How can this be solved? I don't know...

 

Link to comment

Hi.

I understand the problem (these customers who think there is only DVB-T, I think you will hate us ? ).

 

But it could not, if the transponder type is DVB-T and regardless of the country, apply the following behaviors:

  • always scan NIT information;
  • always read and set the LCN detected by the NIT, regardless of the NetworkID;
  • make choice requests only in the event of a single LCN conflict.

For me they are operations compatible with the context in which DVB-T is used.

 

The behavior remains the same for DVB-S and DVB-C.

Ciao,

 

Andrea

Link to comment
vor 24 Minuten schrieb AndreaB:

But it could not, if the transponder type is DVB-T and regardless of the country, apply the following behaviors

 

It has to be considered that people living in border areas may receive French and Italian DVB-T, for example. However, this problem does not exist with DVB-C (as far as I can see), because it's quite unlikely that someone in Italy is customer of a French cable provider. So your suggestion could rather be implemented for DVB-C.

 

Today I've implemented multi-selection for LCN numbering in TransEdit, which should solve your problem with the RAI and CAIRO DUE networks, because it is possible to select both. Do you want to test it?

 

Link to comment

Ok, here we go. Please check your personal forum messages (PM).

 

Additionally to this description (second to fifth point from the top) the following applies to the TransEdit test version:

  • Change: Scanner Options: The Network/Bouquet IDs input line can now contain a list of LCN IDs separated by commas.
  • Change: Scanner Window: The “Channel Numbering Selection” dialog now allows multi-selection of LCN IDs in the usual Windows way (e.g. by Ctrl + left click). After OK all selected numbering sets are applied. If they provide multiple (different) numbers for a channel, TransEdit takes the first available number. Identical numbers for different channels are not filtered. It has to be handled by the user.

After a scan that yields logical channel numbers (LCN) you can do the following in the Scanner Window:

  • Click the LCN column header for sorting the results by LCN (so that the channel with the lowest number gets the top item).
  • Click Select All
  • Select "Scan Date" as Category. This lets TransEdit put all channels into the same category, which prevents re-ordering by DVBViewer on import.
  • Click "Export to File" and save the scan results (including LCN) as INI file.
  • Attach the INI file here, so I can re-import it to TransEdit and inspect your results in the Scanner Window.
  • If you want, you can import the file into the DVBViewer Channel Editor with drag & drop and move the "Scan Date" category with the mouse to the top of your channel list. DVBViewer will ignore the LCN values in the file. However,  if the logical channel numbering starts with 1 and is consecutive (without gaps), it will match the standard DVBViewer channel numbering, so that you can actually use the LCN for channel selection.
Link to comment

I would say that we are there. ?

 

After selecting all the "LCN IDs" shown below:
1-Selezione_LCN_ID.png.acef73cf5dd65eecaf296dd77d8b3d08.png[IMG] 
and saved in the configuration:
2-Salvataggio_LCN_ID.png.fdda586ec66d226f95e0a6f87f96bf61.png[IMG] 
the channel list with relative LCN (attached) is very similar to that of the TV. Great!


The scan time with NIT is: 6'22".

 

With TransEdit I found only one anomaly, which I don't think is of the program.

  1. As you can see from the list there is a radio channel at Frequency = 205500 "Rai Radio1" which does not have the LCN.
    Indeed, with the Analyzer there does not seem to be:
    3-NIT-RAI.thumb.png.c63f625a791d9753dac53f19f69d9b7a.png
    But the TVs correctly associate it with the channel provided in the official list, the number 701.
    There are other radio channels that send the LCN.
    Now the possibilities are 2:
    • TransEdit analyzer does not detect it, even though it is there. It seems strange to me because it identifies all the descriptions of the TV channels but not those of all the Radio channels.
    • RAI does not send the LCN for Radio channels. In this case the various "Griga" of Samsung, Sony etc. they are forced to put a patch to associate the channel based on other parameters (SID?), solution not applicable with DVBViewer.

Tell me if you want to do other tests for the problem of RAI radios.

 

Problems arise when importing channels into DVBViewer:

  1. As you can see there are 2 channels with LCN = 5
    * Canale5 (provvisorio)
    * Canale5 HD
    this is because in Italy we are in the middle of the transition from DVB-T to DVB-T2.
    Since only one must remain, otherwise it ruins the sequence, which one to choose?
    • I would automatically choose the one with the best audio / video characteristics (codec, resolution) as long as the antenna signal is of good quality (which criterion to use? I would be inclined for an error rate threshold).
    • Otherwise, as I mentioned earlier, the user is asked to make the manual choice (many TVs / decoders do this).
  2. The sequence of LCNs is not always continuous as some intervals are reserved for local broadcasters and are not always used, therefore the association LCN <-> TV channel on DVBViewer would be lost, but I don't think this is not a real problem as if the LCN will be implemented in DVBViewer with DVB-T* it will be possible to directly associate the LCN to the channel.

For me they are solvable problems, apart from that of the Radio to be analyzed.

Ciao,

 

Andrea

DVB-T Europe_Channels-2021-12-14.ini

Edited by AndreaB
Link to comment
vor 7 Stunden schrieb AndreaB:

As you can see from the list there is a radio channel at Frequency = 205500 "Rai Radio1" which does not have the LCN.

 

Same here in a "DVB-T Napoli" transponder dump that I got in 2011 from an Italian user. There are no LCNs in the NIT (Network Information Table) for the RAI radio channels. I think they are not broadcasted, at least not in the usual way. It is confirmed by this Italian site (use Ctrl+F in the browser, search for "RAI Radio"). So these numbers are either hardcoded in your receiver, or they are broadcasted in a different way that I don't know.

 

vor 7 Stunden schrieb AndreaB:

As you can see there are 2 channels with LCN = 5
* Canale5 (provvisorio)
* Canale5 HD

 

TransEdit and DVBViewer are not able to decide which channel is "more valuable" for the user in such cases. This must be handled by the user, either by deleting unwanted channels from his/her list, or by re-sorting the channels so that the preferred one is the topmost (see considerations below).

 

vor 7 Stunden schrieb AndreaB:

The sequence of LCNs is not always continuous as some intervals are reserved for local broadcasters and are not always used, therefore the association LCN <-> TV channel on DVBViewer would be lost

 

That's a problem that must be solved in DVBViewer. It must be able to handle gaps in the numbering. The user can work around small gaps by manually inserting dummy channels (or copies of other channels) in the channel list, but it gets too cumbersome if there are hundreds of unused numbers in the sequence.

 

When the user types a channel number,  an obvious approach would be to let DVBViewer search for the first channel from the top with a matching LCN. This of course would require to read LCNs from scan results exported by TransEdit and store them as part of the channel data. Additionally DVBViewer should provide a way to enter and change LCNs manually, so that missing numbers (as for the RAI Radio channels) can be added. Furthermore there should be an option to switch LCN usage on/off, with off as default for compatibility reasons and for countries like Germany, where no LCNs are used.

 

However, that is not so easy as it sounds, because DVBViewer is a software with a long history (almost 20 years) and many features. There is a lot of code that has to be adjusted to such a change. And there are still open questions. What shall happen if the user types a channel number that does not exist? What does your receiver do in this case?

 

Link to comment
Quote
Quote

"Rai Radio1" - LCN missing

 So these numbers are either hardcoded in your receiver, or they are broadcasted in a different way that I don't know


For me they are hardcoded as RAI does not broadcast the LCN: in fact a technical site does not actually indicate the LCN for these radio channels: https://www.dtti.it/lcn/
So problem closed, also because I've never seen anyone listen to the radio on a TV ? now they use either the Internet or DAB +

 

Quote
Quote

 As you can see there are 2 channels with LCN = 5

TransEdit and DVBViewer are not able to decide which channel is "more valuable" for the user in such cases.

Okay, I tried. ?

 

Quote

This must be handled by the user, either by deleting unwanted channels from his/her list, or by re-sorting the channels so that the preferred one is the topmost (see considerations below).

Yes, it has to be managed by the client, but with the help of DVBViewer asking the client, whenever there is a conflict of a single LCN, which one he wants; even common TVs and decoders do.
I don't think TransEdit should do that as it is an analysis tool, but if you want to implement the mechanism by proof ...

 

Quote
Quote

The sequence of LCNs is not always continuous

That's a problem that must be solved in DVBViewer

Okay, but who tells Hackbart? ?

 

Quote

What shall happen if the user types a channel number that does not exist? What does your receiver do in this case?

Usually a message like "Channel does not exist" comes out and you stay on the current channel.

 

I could think of a script that adds "dummy" channels instead of "hole" channels in the INI file, but what do I point these channels to so that DVBViewer doesn't get mad?

Ciao,

Andrea

Link to comment
vor 27 Minuten schrieb AndreaB:

Okay, but who tells Hackbart? ?

 

Who tells me? :)Maybe I can soon provide a DVBViewer test version that does what I have described in my last post. A "proof of concept" is already working. Please stay tuned...

 

Link to comment
Am 15.12.2021 um 23:31 schrieb AndreaB:

Whenever you want.

 

Now :) There is some progress.

 

I've uploaded two new test versions (see PM). The changes relevant for LCN in DVBViewer Beta are

  • Added: TV/Radio Options: Checkbox “Use custom channel numbers”. It allows to configure a custom channel numbering that is independent from the sequence of channels in the channel and favorites list and not necessarily contiguous (which means, there may be gaps between numbers). The channel numbers can be imported from TransEdit, originating from a scan for Logical Channel Numbers (LCN), or manually entered in the DVBViewer Channel Editor (see here). Please note that without these measures there are no channel numbers at all in “custom channels numbers” mode: Channel selection by entering numbers is disabled, and DVBViewer displays “---” where a number is supposed to appear.

  • Added: Channel Editor: “Channel No.” input line on the Channel Data page, allowing to input and edit channel numbers, that take effect in “custom channels numbers” mode (see above). The custom channel numbers are also contained in .ini and .csv channel list exports. Please note that DVBViewer does not check for duplicate numbers (yet). It is up to the user to avoid them. On channel selection by number input DVBViewer switches to the topmost channel from the list with a matching custom channel number (see here). However, the channel number search function of the Channel Editor (after entering a channel number in the right input line of the search panel and pressing Return) always starts from the currently selected channel, so that it finds the next channel with a matching custom number and can be used for duplicate detection.

  • Added: Channel Editor: “Clear Custom Channel Numbers” item in the context menu. It removes all numbers in the selected tree view nodes (added for my own testing needs).

This means, the DVBViewer test version contains a basic LCN handling, allowing to select a channels by entering its LCN, even if the numbering is not contiguous. But DVBViewer is not able to scan for LCN itself yet. Future will show if additional LCN functionality is needed in practice, e.g. a warning if an already existing channel number is assigned manually to a channel, sorting by channel numbers and stuff... most of the work was to find all places in 706000 lines of code that are dealing with channel numbers somehow. There were quite a lot of them.

 

The new TransEdit test version contains the following additional features:

  • Added: Scanner Windows: LCNs are now also exported in .csv channel lis files (previously only in .ini).
  • Added: Scanner Windows: LCNs can be directly written to the DVBViewer channel list (without transfer via an .ini file) by using the Add/Update function. Additionally the scanner window indicates if an LCN is already present in the DVBViewer channel list (light blue background), or if it is different or missing (gray background).

 

Link to comment

Sorry for the delay, but I tried to focus on the problems with DVBViewer channel list.

Quote

Now :) There is some progress.

And what changes!

 

Nothing to report for TransEdit: updating the LCN on DVBViewer, as you can see below, works fine.

 

DVBViewer:

  1. The package indicated 7.1.2.5 as version but running it shows 7.1.2.4. But I saw that there is the new option so I continued the test.
  2. I cannot delete the stored channels to start from an empty configuration, that is, I delete them in the "Channel Editor" and if I view them the list is empty, but if I save empty list, close and reopen DVBViewer they all reappear.
    However, if I delete the list and immediately import the new one from the .INI file, only the new one remains, so it is a problem but limited.
  3. The import of the .INI file, which I am attaching, takes place regularly, complete with LCN!
    image.thumb.png.6e237847ba971778f0f7b30895a5521b.png
     
  4. Obviously, all duplicates remain, either because they were received from two different Muxes or because they are migrating DVB-T --> DVB-T2 (the "provvisorio").
    Here the (simple?) Mechanism of choice by the user would have to be implemented, either during the import or, when you implement it, at the end of the scan with DVBViewer.
  5. Obviously the channel search from DVBViewer does not detect the LCN but it seems to me that it has not yet been implemented (in fact the NIT box does not "light up".
    But the problem is solved by performing a Scan with TransEdit and clicking on "Update All".
    image.thumb.png.d33a3b4f6c4d1c61669667cc1e594dc2.png

 

Good job!

DVB-T Europe_Channels-2021-12-21.ini

Link to comment
vor 2 Stunden schrieb AndreaB:

The package indicated 7.1.2.5 as version but running it shows 7.1.2.4.

 

Sorry, my mistake. I forgot to update the DVBViewer version number.

 

vor 2 Stunden schrieb AndreaB:

I cannot delete the stored channels to start from an empty configuration, that is, I delete them in the "Channel Editor" and if I view them the list is empty, but if I save empty list, close and reopen DVBViewer they all reappear.

 

DVBViewer doesn't allow to overwrite an existing channel list with an empty list, in order to prevent users from killing their whole channel list by mistake.

 

vor 2 Stunden schrieb AndreaB:

Obviously, all duplicates remain, either because they were received from two different Muxes or because they are migrating DVB-T --> DVB-T2 (the "provvisorio"). Here the (simple?) Mechanism of choice by the user would have to be implemented, either during the import or, when you implement it, at the end of the scan with DVBViewer.

 

There is already a very simple mechanism implemented. For example, if the user enters 5 for switching to Canale 5 HD and gets the wrong version of the channel, he/she can go to the channel editor and move Canale 5 HD with the mouse up,  so it is on top of the "provvisorio" version. In the same way category folders containing all channels of a mux can be moved with the mouse up or down. Alternatively the Cut and Paste commands from the context menu can be used for it (multi-selection is supported). The simple rule is: Topmost channels always have priority.

 

I know no better (and no simpler) mechanism for getting this sorted. Do you have an idea how it can be done in a better way?

 

Link to comment

Actually the problem of duplicate channels is there but it's not that serious because:

  1. The RAI TV channels that I have as duplicates, because received from 2 different Muxes, in truth many other users do not have them.
    This is because RAI is still transmitting in VHF (my 205.5) and at the same time in UHF the same contents, but all the new antenna systems no longer have a VHF antenna but only the UHF one, so they are less and less with double RAI channels..
  2. All "provvisori" channels are SD channels while those with the normal name are HD channels. Not all providers have the same naming policy. In any case, if the dates are met, all SDs in Italy will cease by the end of 2022.

In the future there will always be duplicated channels, even if less than the current ones, especially for those who live in the plains (not like me) and can receive the signals of the same Muxes on different frequencies.
The mechanism you are referring to, while relatively easy, is not immediate in my opinion.
For me the solution is the one that almost all TV manufacturers adopt: at the end of the scan for all channel numbers corresponding to two or more TV channels with the same LCN, a question like this applies:

The following channels have the same numbering:
   5 - Canale 5 (provvisorio)
   5 - Canale 5 HD
Choose the channel to assign to number 5.

or, for those who live on the border between 2 provinces:

The following channels have the same numbering:
   20 - Bergamo TV
   20 - Brescia TV
Choose the channel to assign to number 20.

(only the channel names change, the phrases are the same) and the user manually chooses the final channel.

 

I repeat, in this period the requests for choice will be "high" but by the end of the following year they will decrease, on the other hand, however, those that will remain will present themselves forever.

Ciao,

 

Andrea

Link to comment
  • 2 months later...

Ok, back to the topic ?

I know you have other priorities but... to correctly manage the TV channel numbers for DVB-T is missing:

  1. Add sorting by channel number in DVBViewer (I think it's fast, I think).
  2. Implement in DVBViewer the extraction of the channel number based on the LCN, as already present in TransEdit.
  3. At the end of the scan with extraction of the channel number from the LCN, management of any duplicate channels with manual user choice (as mentioned in the previous message).

Ok, I think there is everything, now it's up to you. ?

Ciao,

Andrea

Link to comment

Let's first look at this:

 

Am 5.3.2022 um 22:00 schrieb AndreaB:

Add sorting by channel number in DVBViewer (I think it's fast, I think).

 

Sorting by channel number can already be performed in the TransEdit Scanner Window by clicking the LCN column header before exporting the results to DVBViewer. A corresponding option could also be integrated in the DVBViewer channel list context menu, in the same way as the "Sort by Channel Name" option. However, there is only limited use for it, because the DVBViewer channel and favourites list mostly appear as hierarchical structure with category folders, so that sorting would be performed in each category separately, except if the Grouping -> None option is active, that lets DVBViewer display a linear list.

 

Am 5.3.2022 um 22:00 schrieb AndreaB:

Implement in DVBViewer the extraction of the channel number based on the LCN, as already present in TransEdit.

 

This means a lot of work. There are no plans to do it in near future.

 

Am 5.3.2022 um 22:00 schrieb AndreaB:

At the end of the scan with extraction of the channel number from the LCN, management of any duplicate channels with manual user choice (as mentioned in the previous message).

 

I will not do this, at least not in this way, because in some DVB networks it could result in scores of questions that have to be answered by the user before he/she can go on. I guess after 20 or more dialog windows reporting duplicate numbers users will not answer anymore, but rather use the task manager to kill DVBViewer. ;)

 

Link to comment
Posted (edited)
47 minutes ago, Griga said:

A corresponding option could also be integrated in the DVBViewer channel list context menu, in the same way as the "Sort by Channel Name" option. 

I have already activated the option "Grouping -> None", only the implementation of this order would be missing.

dvbv-1.thumb.png.77155eb87dc32acc89e9d63653837835.png

 

47 minutes ago, Griga said:

This means a lot of work. There are no plans to do it in near future.

Ops, I thought TransEdit and DVBViewer share the base libraries.

I could create an explanation on "How to extract the LCN in TransEdit for DVB-T and how to transfer it to DVBViewer" to post on the Wiki, but in Italian, my English is bad.
Or I translate it with "Google translate" and someone checks it and validates it.

47 minutes ago, Griga said:

I will not do this, at least not in this way, because in some DVB networks it could result in scores of questions that have to be answered by the user before he/she can go on. I guess after 20 or more dialog windows reporting duplicate numbers users will not answer anymore, but rather use the task manager to kill DVBViewer. ;)

Now that the migration to DVB-T2 nears its end in Italy, there are very few cases of duplicate channel numbers left.

The "regional" channels remain as shown below.

One could not even just implement a "cyclicality" on channel selection: if I select channel 3 the first time I go to "RAI 3 TGR Emilia-Romagna", the second time I go to "RAI 3 TGR Lombardia" and the third to " RAI 3 TGR Piedmont ".

 

My interventions are always oriented to the use of DVBViewer with an IR remote control (as soon as I can configure Flirc as I want ? )

Ciao,

 

Andrea

dvbv-2.png

Edited by AndreaB
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...