:: = | :: = opt :: = | :: = :: = | :: = :: = opt opt opt :: = opt :: = | :: = | | :: = opt :: = opt :: = opt :: = | :: = | :: = | :: = | | | | | | | | | | | | | | | | |
:: = opt opt opt :: = opt :: = | :: = | | :: = opt :: = opt :: = opt :: = | :: = | :: = | :: = | | | | | | | | | | | | | | | | |