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